无法使用经过训练的 Tensorflow 模型

新手上路,请多包涵

我是深度学习和 Tensorflow 的新手。我将预训练的 tensorflow inceptionv3 模型重新训练为 saved_model.pb 以识别不同类型的图像,但是当我尝试使用带有以下代码的 fie 时。

 with tf.Session() as sess:
    with tf.gfile.FastGFile("tensorflow/trained/saved_model.pb",'rb') as  f:
        graph_def = tf.GraphDef()
        tf.Graph.as_graph_def()
        graph_def.ParseFromString(f.read())
        g_in=tf.import_graph_def(graph_def)
        LOGDIR='/log'
        train_writer=tf.summary.FileWriter(LOGDIR)
        train_writer.add_graph(sess.graph)

它给了我这个错误 -

  File "testing.py", line 7, in <module>
graph_def.ParseFromString(f.read())
google.protobuf.message.DecodeError: Error parsing message

我尝试了很多我能找到的解决方案来解决这个问题, tensorflow/python/tools 中使用 graph_def.ParseFromString(f.read()) 函数的模块给了我同样的错误。请告诉我如何解决这个问题或告诉我如何避免 ParseFromString(f.read()) 函数。任何帮助,将不胜感激。谢谢!

原文由 Torab Shaikh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 824
1 个回答

请使用 frozen_inference_graph.pb 加载模型,而不是使用 saved_model.pb

 Model_output
- saved_model
  - saved_model.pb
- checkpoint
- frozen_inference_graph.pb     # Main model
- model.ckpt.data-00000-of-00001
- model.ckpt.index
- model.ckpt.meta
- pipeline.config

原文由 Naga kiran 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进