TensorFlow服务:获取输入形状和标签

卡尔

我目前正在尝试建立一个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"]
sdcbr

是的,您可以通过将请求发送到/metadataTF服务器路径来从模型中请求所有形状的输入和输出

最简单的形式:

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流量(用于请求模型元数据)的端口。运行服务器时只需指定两个端口。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Tensorflow logits和标签错误,但形状相同

Tensorflow Estimator登录和标签必须具有相同的形状

针对状态LSTM模型的TensorFlow不同的输入和输出形状

了解Tensorflow LSTM输入形状

Tensorflow输入形状不兼容

了解word2vec(TensorFlow)中的输入和标签

Tensorflow,获取张量的静态形状

使用Tensorflow saved_model,获取ValueError:无法为形状为((,,)'的Tensor'Placeholder_1084:0'输入形状()的值

机器学习:字符串的自动分类 - “未知标签类型”和“错误输入形状”

Tensorflow估计器ValueError:logits和标签必须具有相同的形状((?,1)vs(?,))

Tensorflow ValueError:logits和标签必须具有相同的形状((None,42)vs(None,1))

Tensorflow:如何在python中获取图形输入和输出?

如何分别获取输入标签和选项标签并在div内部和select内部加载

标签“ for”和输入“ id”

Tkinter标签和输入

Tensorflow字符级CNN-输入形状

TensorFlow:“输入形状的预期轴-1 ...”

conv3d的Tensorflow输入形状

遍历列表以获取和存储向量“ ValueError:无法将输入数组从形状(96)广播到形状(0)”

TensorFlow CNN 不兼容的形状:4D 输入形状

形状工具箱获取长度和宽度的输入并打印它们

获取输入标签的子元素

从检查的输入中获取标签

获取各种输入的版本标签

在 Tensorflow 中获取未知张量的形状

Logit的形状和标签不匹配

对数和标签之间的形状不匹配

Logit和标签的形状不兼容

使用Tensorflow输入PASCAL-VOC 2012训练数据和标签的好方法