Как тензор потока_моделя_сервера может связать свой HTTP / REST на 0.0.0.0 (локальный хост по умолчанию)? - PullRequest
0 голосов
/ 27 ноября 2018

Я обнаружил, что образ докера TensorFlow / Обслуживание фактически использует исполняемый файл tensorflow_model_server для запуска сервера.Поэтому я присоединяюсь к док-контейнеру, чтобы запустить сервер вручную.

Моя команда:

tensorflow_model_server --model_base_path=/root/serving/my_image_classifier/ --rest_api_port=8501 --model_name=ImageClassifier

Эта команда запускает сервер с журналами:

2018-11-27 03:56:43.302391: I tensorflow_serving/core/loader_harness.cc:86] Successfully loaded servable version {name: ImageClassifier version: 2}

2018-11-27 03:56:43.304439: I tensorflow_serving/model_servers/server.cc:286] Running gRPC ModelServer at 0.0.0.0:8500 ...

[warn] getaddrinfo: address family for nodename not supported

2018-11-27 03:56:43.306009: I tensorflow_serving/model_servers/server.cc:302] Exporting HTTP/REST API at:localhost:8501 

Какон говорит, что его HTTP / REST API экспортирован как localhost.Это неправильно, потому что если сервер привязывается к локальному узлу в докере, он не может быть подключен извне.

Я прочитал - помогите, но ничего полезного не нашел.

Итак, как я могу позволить ему связываться с 0.0.0.0?

Версия TensorFlow ModelServer:

TensorFlow ModelServer: 1.12.0-rc0+dev.sha.87470f0
TensorFlow Library: 1.12.0

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

В приведенной ниже команде, поскольку вы упоминаете rest_api_port=8501, она связывает ее с localhost (значение по умолчанию).

tensorflow_model_server --model_base_path=/root/serving/my_image_classifier/ --rest_api_port=8501 --model_name=ImageClassifier

Если вы хотите привязать его к какому-либо IP-адресу, скажем 0.0.0.0, вы можете попробовать передать его значение как

rest_api_port=0.0.0.0:8501

0 голосов
/ 29 ноября 2018

На самом деле, даже журналы показывают, что HTTP / REST API связывается с "localhost", его фактически можно присоединить вне контейнера докера.

Почему я не смог присоединитьэто еще одна странная проблема (которая автоматически исчезает после перезагрузки машины).

Однако я все еще думаю, что tensflowflow_model_server использует «localhost» в журнале, это неправильно, особенно когда он сообщает RPC bind «0.0.0.0».

Я должен открыть вопрос.

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