【问题标题】:Sending matrices to a Tensorflow-Serving module将矩阵发送到 Tensorflow-Serving 模块
【发布时间】:2023-04-06 03:23:01
【问题描述】:

我正在尝试将 3 个密集矩阵发送到 tensorflow 服务模块。这个模块应该接受 3 个密集矩阵并返回一个浮点列表。我在 Python 中这样做。

我很难弄清楚如何做到这一点。我不确定如何一次发送多个数据。

我查看了这个链接,它看起来会有所帮助?

https://www.tensorflow.org/serving/signature_defs

但我不确定。

我以前将此网站视为资源:https://towardsdatascience.com/deploy-tensorflow-models-9813b5a705d5

然而,

req_data = [{'in_tensor_name': 'inputs', 'in_tensor_dtype': 'DT_FLOAT', 'data': np.random.rand(1,2)}]

预测 = client.predict(req_data, request_timeout=10)

似乎与我正在尝试做的事情不相似。

对不起,如果这个问题很模糊,但我真的不知道从哪里开始。我有这 3 个矩阵,显然我发送这些矩阵的模型接收 3 个矩阵并输出一个数字列表。如何从这个模型发送和接收数据?

谢谢

【问题讨论】:

  • 您找到解决方案了吗?

标签: python tensorflow tensorflow-serving


【解决方案1】:

不确定这是否完全回答了您的问题,但假设您有一个 request_dict 字典,该字典将您的模型期望的输入张量的名称映射到矩阵为 numpy 数组,您可以按如下方式填充请求:

from tensorflow_serving.apis import predict_pb2
from tensorflow.contrib.util import make_tensor_proto    

request = predict_pb2.PredictRequest()
request.model_spec.name = 'tf_serving'
request.model_spec.signature_name = 
tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY 

for k, v in request_dict.items():
    request.inputs[k].CopyFrom(make_tensor_proto(v, shape=v.shape))

然后您可以将其提供给您的示例中的预测服务存根。

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 2018-02-01
    • 1970-01-01
    相关资源
    最近更新 更多