为TensorFlow服务RESTAPI生成实例或输入

为TensorFlow服务RESTAPI生成实例或输入,tensorflow,tensorflow-serving,tfx,Tensorflow,Tensorflow Serving,Tfx,我已经准备好基于一个保存的模型来试用我的TensorFlow服务RESTAPI,并且想知道是否有一种简单的方法来生成我需要发送的JSON实例(基于行)或输入(基于列) 我的模型中有几千个特性,我不喜欢手动输入JSON。有没有一种方法可以使用现有的数据来产生序列化的数据,我可以在predict API中使用这些数据 我将TFX用于整个管道(包括tf.Transform),因此我不确定TFX中是否有一种简洁的方法可以使用 saved\u model\u cli的输出如下: The given Sav

我已经准备好基于一个保存的模型来试用我的TensorFlow服务RESTAPI,并且想知道是否有一种简单的方法来生成我需要发送的JSON实例(基于行)或输入(基于列)

我的模型中有几千个特性,我不喜欢手动输入JSON。有没有一种方法可以使用现有的数据来产生序列化的数据,我可以在predict API中使用这些数据

我将TFX用于整个管道(包括tf.Transform),因此我不确定TFX中是否有一种简洁的方法可以使用

saved\u model\u cli
的输出如下:

The given SavedModel SignatureDef contains the following input(s):
  inputs['examples'] tensor_info:
      dtype: DT_STRING
      shape: (-1)
      name: input_example_tensor:0

这并不能告诉我太多。

您可以使用Python REST客户端以编程方式进行调用,而不是手动编写请求。这是tensorflow_服务github中的示例代码:


您可以尝试以下代码:

examples = []
for _, row in Inputs.iterrows():
  example = tf.train.Example()
  for col, value in row.iteritems():
    example.features.feature[col].float_list.value.append(value)
  examples.append(example)
print(examples)
它的输出将是json,如下所示:

[features {
  feature {
    key: "PetalLength"
    value {
      float_list {
        value: 5.900000095367432
      }
    }
  }
  feature {
    key: "PetalWidth"
    value {
      float_list {
        value: 2.0999999046325684
      }
    }
  }
  feature {
    key: "SepalLength"
    value {
      float_list {
        value: 7.099999904632568
      }
    }
  }
  feature {
    key: "SepalWidth"
    value {
      float_list {
        value: 3.0
      }
    }
  }
}
]
然后,您可以使用以下命令执行推断:

curl -d '{"inputs":examples}' \
  -X POST http://localhost:8501/v1/models/1554294699:predict