【发布时间】:2021-11-22 10:31:12
【问题描述】:
我为tensorflow-serving 创建了一个Dockerfile,如下所示:
FROM tensorflow/serving
COPY /model_dir /models/model/
我 docker-compose 就这样
tensorflow-servings:
container_name: tfserving_classifier
build: ./some_model_dir
ports:
- 8501:8501
在tensorflow-container中,模型位于/models/model/1
这是我尝试服务的方式
# server URL
url = 'http://localhost:8501/v1/models/model/1:predict'
def make_prediction(instances):
data = json.dumps({"signature_name": "serving_default", "instances": instances.tolist()})
headers = {"content-type": "application/json"}
json_response = requests.post(url, data=data, headers=headers)
predictions = json.loads(json_response.text)['predictions']
return predictions
这里是python代码容器消息:
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8501): 超过最大重试次数 带有网址:/v1/models/model/1:predict(由 NewConnectionError('
:建立新连接失败:[Errno 111] 连接被拒绝'))
我认为这是由于 URL 不正确,我怎样才能为我的 tensorflow-serving 获取正确的 URL?
这里是张量流服务容器消息:
I tensorflow_serving/model_servers/server.cc:393] Running gRPC ModelServer at 0.0.0.0:8500 ...
I tensorflow_serving/model_servers/server.cc:414] Exporting HTTP/REST API at:localhost:8501 ...
【问题讨论】:
-
python 脚本是否在容器内运行?
-
@DefSoudani 是的,python 脚本正在容器内运行,而 tensorflow-serving 正在运行另一个容器。两者都在 docker-compose 中。
标签: python docker tensorflow docker-compose tensorflow-serving