gpt4 book ai didi

python-3.x - TensorFlow 服务 : get input shape and labels

转载 作者:行者123 更新时间:2023-12-03 08:57:11 26 4
gpt4 key购买 nike

我目前正在尝试设置一个 TensorFlow Serving 客户端,其任务是处理以下格式的消息队列:

{
"model_url":"http://path/to/some/model",
"image_url":"http://path/to/some/image"
}

换句话说,每条消息都说明应该使用哪个模型来预测哪个图像。理想情况下,我不必在队列中指定任何进一步的信息即可使其正常工作。

但是有两个问题。输入图像的大小可能会有所不同,而预期的输入大小是固定的(由模型确定)。因此客户端必须调整图像大小。为此,它必须知道预期的输入大小是多少。

所以我的具体问题是:如果我知道model_url,有没有办法向 TensorFlow Serving 服务器发出请求,以便它告诉我预期的输入是什么形状看起来像?类似地,我需要知道与模型提供的预测相关的标签(例如,如果我们正在进行图像分类,则为“猫”、“狗”等)。

我正在寻找的是以下伪代码:

request_dict =    {
"meta_info":["input_shape", "labels"]
}

response = requests.post(model_url, data=json.dumps(request_dict))

input_shape = response["input_shape"]
labels = response["labels"]

最佳答案

是的,您可以通过向 TF 服务器的 /metadata 路径发送请求来请求模型的所有输入和输出形状。

最简单的形式:

import requests
metadata_url = f'http://{host}:{port}/v1/models/{modelname}/metadata'
response = request.get(metadata_url).json()

响应将是一个字典,其中包含模型的完整signaturedef规范(即所有输入和输出的形状)。

如果使用 REST API,这可能是最简单的。请参阅https://www.tensorflow.org/serving/api_rest更多示例(在“元数据 API”下)。另请注意,可以同时公开 gRPC 流量(用于实际负载流量)和 HTTP 流量(用于请求模型元数据)的端口。只需在运行服务器时指定两个端口即可。

关于python-3.x - TensorFlow 服务 : get input shape and labels,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54419009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com