在哪里可以找到 tensorflow 服务 URL?
Posted
技术标签:
【中文标题】在哪里可以找到 tensorflow 服务 URL?【英文标题】:Where to find the tensorflow-serving URL? 【发布时间】: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 中。 【参考方案1】:localhost
只到达容器内部,使用服务名或tensorflow的容器名从脚本容器到达
http://tensorflow-servings:8501/v1/models/model/1:predict
【讨论】:
你是明星!非常感谢。 URL 是`'tensorflow-servings:8501/v1/models/model:predict'`以上是关于在哪里可以找到 tensorflow 服务 URL?的主要内容,如果未能解决你的问题,请参考以下文章
使用 TensorFlow 服务为 TF 模型提供服务时,应该在哪里执行预处理和后处理步骤?