Ошибка получения соединения при запуске запроса POST к серверу tenorflow, размещенному в докере - PullRequest
0 голосов
/ 05 декабря 2018

Мне нужно было обслуживать несколько моделей с тензорным потоком с помощью обслуживания с тензорным потоком.Я скомпилировал тензорный поток, обслуживающий в докере.Затем я запустил образ докера, который успешно запустился.

Остальные шаги по запуску контейнера докера и размещению нескольких моделей я сделал, следуя приведенному ниже руководству: 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

Будет очень полезно, если вы поможете мне исправить эту проблему и получить ожидаемый прогноз из модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...