Мне нужно было обслуживать несколько моделей с тензорным потоком с помощью обслуживания с тензорным потоком.Я скомпилировал тензорный поток, обслуживающий в докере.Затем я запустил образ докера, который успешно запустился.
Остальные шаги по запуску контейнера докера и размещению нескольких моделей я сделал, следуя приведенному ниже руководству: https://medium.com/@brianalois/how-to-setup-tensorflow-serving-for-production-3cc2abf7efa
Требуются модели и конфигурационный файлЭта операция была предоставлена автором блога в следующем git-репозитории: https://github.com/brianalois/tensorflow_serving_tutorial
Я поместил файл конфигурации и модели в следующие места внутри моего док-контейнера:
root@72d81d939de5:/tensorflow-serving# ls
AUTHORS CONTRIBUTING.md LICENSE README.md RELEASE.md WORKSPACE configs models tensorflow_serving third_party tools
root@72d81d939de5:/tensorflow-serving# ls ./configs
models.conf
root@72d81d939de5:/tensorflow-serving# ls ./models
iris xor
root@72d81d939de5:/tensorflow-serving# ls ./models/iris
1 2
Примечание. В папках 1 и 2 содержались файлы сохраненные_модели.pb для классификации ирисовой модели радужной оболочки и соответственно моделей прогнозирования радужной оболочки.
Как уже упоминалось в учебном пособии, сервер запускался на том же порту, что и упомянутый в учебном пособии:
tensorflow_model_server --port=8500 --rest_api_port=8501 --model_config_file=/tensorflow-serving/configs/models.conf
The log shows:
Successfully reserved resources to load servable {name: iris version: 1}
Внутри файла конфигурации базовые пути для размещенных моделей были определены следующим образом:
model_config_list: {
config: {
name: "xor",
base_path: "/tensorflow-serving/models/xor",
model_platform: "tensorflow",
model_version_policy: {
all: {}
}
},
config: {
name: "iris",
base_path: "/tensorflow-serving/models/iris",
model_platform: "tensorflow",
model_version_policy: {
all: {}
}
}
}
Далее снаружи контейнера док-станции я запустил следующий запрос POST для модели iris prdict:
curl -X POST \
http://localhost:8501/v1/models/iris/versions/2:predict \
-d '{
"signature_name": "predict-iris",
"instances":[
[5.1, 3.5, 1.4, 0.2]
]
}'
И получил следующую ошибку:
curl: (7) Failed to connect to localhost port 8501: Connection refused
Я не уверен, что мыне пошел;я также не совсем понял эту строку запроса POST, используемую здесь:
http://localhost:8501/v1/models/iris/versions/2:predict
Будет очень полезно, если вы поможете мне исправить эту проблему и получить ожидаемый прогноз из модели.