将 keras 与 tensorflow 服务一起使用

Use keras with tensorflow serving

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

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

但是我不知道如何初始化 sess 变量,因为我的模型已经训练好了。 有什么办法吗?

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

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)

TensorFlow Serving 的好替代品可以是 TensorCraft - 一个简单的 HTTP 服务器,用于存储模型(我是该工具的作者)。目前仅支持 TensorFlow 保存模型格式。

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

您可以在 project documentation 中找到更多详细信息。