在哪里可以找到 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 模型提供服务时,应该在哪里执行预处理和后处理步骤?

我在哪里可以找到有关 SP 如何使用其私钥签署身份验证请求并将其发送到 IdP 的 URL 的信息?

我在哪里可以找到 Rails 作业的域设置?

在哪里可以找到 worklight.plist?

TensorFlow的资源