5

我想知道如何在生产服务器上使用我用 keras 训练的模型。我听说过 tensorflow 服务,但我不知道如何将它与我的 keras 模型一起使用。

我找到了这个链接:https ://blog.keras.io/keras-as-a-simplified-interface-to-tensorflow-tutorial.html

但我不知道如何初始化 sess 变量,因为我的模型已经训练过了。有没有办法做到这一点?

4

2 回答 2

8

您可以将会话变量初始化为

from keras import backend as K
sess = K.get_session()

并按照教程中的方式导出模型(请注意,导出器的导入已更改

from tensorflow.contrib.session_bundle import exporter

K.set_learning_phase(0)
export_path = ... # where to save the exported graph
export_version = ... # version number (integer)

saver = tf.train.Saver(sharded=True)
model_exporter = exporter.Exporter(saver)
signature = exporter.classification_signature(input_tensor=model.input,
                                              scores_tensor=model.output)
model_exporter.init(sess.graph.as_graph_def(),
                    default_graph_signature=signature)
model_exporter.export(export_path, tf.constant(export_version), sess)
于 2016-12-09T09:38:04.970 回答
0

TensorCraft是 TensorFlow Serving 的一个很好的替代品——一个存储模型的简单 HTTP 服务器(我是这个工具的作者)。目前它仅支持 TensorFlow Saved Model 格式。

在使用模型之前,您需要使用 TensorFlow API 将其导出,打包到 TAR 并推送到服务器。

您可以在项目文档中找到更多详细信息。

于 2019-07-15T10:52:16.750 回答