Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 难以格式化tf。向Tensorflow服务发出请求的示例_Python_Tensorflow_Tensorflow Serving - Fatal编程技术网

Python 难以格式化tf。向Tensorflow服务发出请求的示例

Python 难以格式化tf。向Tensorflow服务发出请求的示例,python,tensorflow,tensorflow-serving,Python,Tensorflow,Tensorflow Serving,关于向TensorFlow服务提出请求的最佳方式,我有两个广泛的问题: 当稳定性比吞吐量更受关注时,使用gRPC比REST有什么好处吗?REST既易于交互,也易于编码数据输入 使用gRPC时,建议使用什么方法从python客户端创建tf.examples。我们已经看到了用一个beam模式覆盖它,并通过冗长的JSON递归和沿途构建单个对象。对于如此重要的服务组件,这些方法似乎都不可靠、高效或简单 提前感谢……关于你的第二个问题:我自己不是专家,但我过去就是这样做的 假设有多个输入的数据存在于将张量

关于向TensorFlow服务提出请求的最佳方式,我有两个广泛的问题:

  • 当稳定性比吞吐量更受关注时,使用gRPC比REST有什么好处吗?REST既易于交互,也易于编码数据输入

  • 使用gRPC时,建议使用什么方法从python客户端创建tf.examples。我们已经看到了用一个beam模式覆盖它,并通过冗长的JSON递归和沿途构建单个对象。对于如此重要的服务组件,这些方法似乎都不可靠、高效或简单


  • 提前感谢……

    关于你的第二个问题:我自己不是专家,但我过去就是这样做的

    假设有多个输入的数据存在于将张量名称映射到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(): # keys are tensor names, values are np arrays
        request.inputs[k].CopyFrom(make_tensor_proto(v, shape=v.shape))
    
    我同意这是一个乏味的过程,并且python用户缺乏关于这一部分的文档。使用REST确实更容易,但我无法评论您关于gRPC与REST的第一个问题