将矩阵发送到Tensorflow服务模块

时间:2018-06-22 06:55:14

标签: python tensorflow tensorflow-serving

我正在尝试将3个稠密矩阵发送到张量流服务模块。该模块应接收3个密集矩阵并返回浮点列表。我正在用Python做到这一点。

我很难弄清楚该怎么做。我不确定如何一次发送多个数据。

我查看了此链接,它似乎会有所帮助?

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

但是我不确定。

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

但是

  

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

     

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

似乎与我想做的不一样。

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

谢谢

1 个答案:

答案 0 :(得分:0)

不确定这是否完全可以回答您的问题,但是假设您有一个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))

然后您可以像示例中那样将其馈送到预测服务存根。