使用Tensorflow训练的模型作为服务

时间:2016-11-11 09:51:16

标签: google-app-engine tensorflow tensorflow-serving

我刚开始使用tensorflow。我能够成功地为我创建的数据集进行训练。现在问题是我将如何使用此模型进行预测。我想将它作为一个REST服务,我将能够传递一些值并将预测作为响应。任何有用的链接也欢迎。该模型目前在VM上。

谢谢:)

2 个答案:

答案 0 :(得分:2)

您是否在GCP上看过Cloud ML?它可能正是您正在寻找的东西 https://cloud.google.com/ml/

您可能需要对模型的体系结构进行一些调整 - 例如变量批量大小以及向集合添加输入/输出 - 但在documentation.

中对它们进行了详细解释

如果您决定更新模型的性能,可扩展性和短暂的停机时间不是问题,您还可以考虑只安装一个带有tensorflow的简单烧瓶服务器。

如果您不想使用Cloud ML并需要提供大量请求,请查看tensorflow serving

答案 1 :(得分:1)

首先:尝试保存并加载模型:https://www.tensorflow.org/versions/r0.11/how_tos/variables/index.html

然后,在训练之后,您只需致电:

rest_prediction = sess.run(prediction_tensor, feed_dict={x_tensor: user_input})

一个重要的区别是,在训练期间您有batch_size输入,但是当您有一个REST服务器时,您有1个输入。张量的形状(https://www.tensorflow.org/versions/r0.11/resources/dims_types.html)应该是可变的。如何实现这一目标可以在这里找到:https://www.tensorflow.org/versions/r0.11/resources/faq.html#tensor-shapes

如果您发布简短的代码段,我们可能会帮助您做得更好。