微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python-TensorFlow RuntimeError:在SavedModel中找不到与标签服务相关联的MetaGraphDef

当我使用simple_save保存模型时,尝试加载模型时出现运行时错误.

要保存的代码是:

session = Session()
inputs = tf.placeholder(dtype=tf.float32, shape=(None, height, width, in_channel_size), name='input_img')
model = Some_Model(inputs, num_classes=no_of_defects, is_training=False)
logits, _ = model.build_model()
predictor = tf.nn.softmax(self.logits, name='logits_to_softmax')
Feed_dict = {inputs: inputs}
prediction_probabilities = session.run(self.predictor, Feed_dict=Feed_dict)

tf.saved_model.simple_save(self.session, path,
                               inputs={"inputs" : self.inputs},
                               outputs={"predictor": self.predictor})

要加载的代码是:

tf.saved_model.loader.load(session, tag_constants.SERVING, path)

这给出了错误

RuntimeError: MetaGraphDef associated with tags serve Could not be found in SavedModel. To inspect available tag-sets in the SavedModel, please use the SavedModel CLI: `saved_model_cli`

当我跑步

saved_model_cli show --dir path --tag_set serve --signature_def serving_default

我懂了

The given SavedModel SignatureDef contains the following input(s):
  inputs['inputs'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1, 512, 1024, 8)
      name: input_img:0
The given SavedModel SignatureDef contains the following output(s):
  outputs['predictor'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1, 512, 1024, 25)
      name: logits_to_softmax:0
Method name is: tensorflow/serving/predict

我究竟做错了什么?

解决方法:

问题出在加载调用上.它应该是:

tf.saved_model.loader.load(session, [tag_constants.SERVING], path)

其中tag_constants位于tf.saved_model.tag_constants.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐