【问题标题】:Difficulty formatting tf.example for making requests to Tensorflow serving难以格式化 tf.example 以向 Tensorflow 服务发出请求
【发布时间】:2018-11-30 22:04:29
【问题描述】:

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

  1. 当稳定性比吞吐量更受关注时,使用 gRPC 而不是 REST 是否有任何好处,这既更易于交互,也更易于对数据输入进行编码?

  2. 使用 gRPC 时,从 python 客户端创建 tf.examples 的推荐方法是什么。我们已经看到它用梁模式覆盖它,并且还通过繁琐的 JSON 递归和沿途构造单个对象来完成。对于如此重要​​的服务组件,这些方法似乎都不是稳健、高效或简单的。

提前致谢...

【问题讨论】:

    标签: 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(): # keys are tensor names, values are np arrays
        request.inputs[k].CopyFrom(make_tensor_proto(v, shape=v.shape))
    

    我同意这很乏味,并且 python 用户缺少这部分的文档。使用 REST 确实更容易,但我无法评论您关于 gRPC 与 REST 的第一个问题。

    【讨论】:

      猜你喜欢
      • 2011-12-27
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 2016-05-15
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      相关资源
      最近更新 更多