我试着用Tensorflow服务(装在码头上,如果这有什么不同的话)来为训练有素的tensorflow模型服务。
在培训了我的模型之后,我使用以下代码保存了它:
prediction_signature = (
tf.saved_model.signature_def_utils.build_signature_def(
inputs={'verif': tensor_info_input, 'enroll': tensor_info_input},
outputs={'similarity_matrix': tensor_info_output},
method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME))
with tf.Session(graph=loaded_graph) as sess:
# Restore from checkpoint
loader = tf.train.import_meta_graph(trained_checkpoint_prefix + '.meta')
loader.restore(sess, trained_checkpoint_prefix)
# Export checkpoint to SavedModel
builder = tf.saved_model.builder.SavedModelBuilder(export_dir)
builder.add_meta_graph_and_variables(sess,
[tf.saved_model.TRAINING, tf.saved_model.SERVING],
signature_def_map={
tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: prediction_signature,
})
builder.save()在使用版本文件夹中的--all标志运行saved_model_cli之后,我得到了以下响应:
带有标记集的
MetaGraphDef包含以下SignatureDefs: signature_def‘SavedModel _default’:给定的SavedModel SignatureDef包含以下输入:输入‘登记’tensor_info: DT_FLOAT形状:(80,20,40)名称: Const:0输入‘’verif‘tensor_info: dtype: DT_FLOAT shape:(80,20,40)40)名称: Const:0给定的SavedModel SignatureDef包含以下输出:输出‘相似性矩阵’tensor_info: dtype: DT_FLOAT shape:(20,4)名称: add_1:0方法名为: tensorflow/serving/predict
但是-在尝试服务时,我仍然会遇到以下错误:
加载可维护:{名称:服务版本: 0}失败:未找到:未能找到与所提供的标记匹配的元图def:{ serve }
有什么原因吗?
谢谢
发布于 2019-12-01 19:20:19
经过多次尝试和错误之后,问题似乎是我同时拥有了tf.saved_model.TRAINING和tf.saved_model.SERVING标记。
当我在构建模型时删除tf.saved_model.TRAINING标记时,一切正常
https://stackoverflow.com/questions/59120814
复制相似问题