创建一个获取JSON输入的tf.contrib.learn Estimator服务

时间:2018-01-18 14:23:09

标签: tensorflow google-cloud-ml

我正在使用一些代码,我可以使用这些代码从张量流Estimator导出一个将JSON作为输入的模型。我可以使用tf.Estimator使用tf.estimator.export.ServingInputReceiver来完成此工作,但对于tf.contrib.learn内置的模型,我找不到任何文档。有一个示例here可以使用tf.Example服务创建导出,但Example构建起来有点棘手。

3 个答案:

答案 0 :(得分:1)

要使用贡献估算器,您必须查看早期版本的示例。这是一个例子:

https://github.com/GoogleCloudPlatform/training-data-analyst/blob/85c57e4da2e7edeffbb6652636e3c65b313c568f/blogs/babyweight/babyweight/trainer/model.py

不是说你要返回输入函数ops。话虽如此,如果可以,我建议您迁移到tf.estimator。

答案 1 :(得分:0)

CloudML Engine的示例repository中有一些示例,例如this code

即,您创建占位符并将它们传递给ServingInputReceiver构造函数。最外层维度应为“无”以处理可变大小的批次。

def build_receiver():
  x = tf.placeholder(tf.float32, size=[None])
  y = tf.placeholder(tf.int32, size=[None, 128, 128, 3])
  features = {'x': x, 'y': y}
  return tf.estimator.export.ServingInputReceiver(features, features)

答案 2 :(得分:0)

查看here以获取一组示例,其中显示了如何在Cloud ML中使用tensorflow估算器来提供服务模型

<强>代码:

def serving_fn():
receiver_tensor = {
    commons.FEATURE_COL: tf.placeholder(dtype=tf.string, shape=None)
}

features = {
    key: tensor
    for key, tensor in receiver_tensor.items()
}

return tf.estimator.export.ServingInputReceiver(features, receiver_tensor)