我想知道如何在生产服务器上使用我用 keras 训练的模型。我听说过 tensorflow 服务,但我不知道如何将它与我的 keras 模型一起使用。
我找到了这个链接:https ://blog.keras.io/keras-as-a-simplified-interface-to-tensorflow-tutorial.html
但我不知道如何初始化 sess 变量,因为我的模型已经训练过了。有没有办法做到这一点?
我想知道如何在生产服务器上使用我用 keras 训练的模型。我听说过 tensorflow 服务,但我不知道如何将它与我的 keras 模型一起使用。
我找到了这个链接: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)
TensorCraft是 TensorFlow Serving 的一个很好的替代品——一个存储模型的简单 HTTP 服务器(我是这个工具的作者)。目前它仅支持 TensorFlow Saved Model 格式。
在使用模型之前,您需要使用 TensorFlow API 将其导出,打包到 TAR 并推送到服务器。
您可以在项目文档中找到更多详细信息。