代码之家  ›  专栏  ›  技术社区  ›  pingze

tensorflow_model_服务器如何在0.0.0.0(默认本地主机)上绑定其HTTP/REST?

  •  1
  • pingze  · 技术社区  · 6 年前

    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/restapi被导出为localhost。这是不对的,因为如果一个服务器绑定在docker的本地主机上,它就不能从外部附加。

    那么,如何让它绑定到0.0.0.0上呢?

    TensorFlow ModelServer版本:

    TensorFlow ModelServer: 1.12.0-rc0+dev.sha.87470f0
    TensorFlow Library: 1.12.0
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   pingze    6 年前

    事实上,即使是日志也显示HTTP/restapi绑定在“localhost”上,实际上 可附加 在docker容器外。

    为什么我不能附加这是另一个奇怪的问题(whitch automatic在机器重启后失效)。

    但是,我仍然认为tensorflow_模型服务器在日志中使用“localhost”是不对的,尤其是当它告诉RPC bind on“0.0.0.0”时。

    我应该公开一个问题。

        2
  •  -1
  •   Tensorflow Support    5 年前

    在下面的命令中 rest_api_port=8501 ,它正在绑定它 localhost (默认值)。

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

    0.0.0.0 ,可以尝试将其值传递为

    rest_api_port=0.0.0.0:8501