在tensorflow中,从头开始训练产生以下6个文件:
events.out.tfevents.1503494436.06L7-BRM738 model.ckpt-22480.meta checkpoint model.ckpt-22480.data-00000-of-00001 model.ckpt-22480.index graph.pbtxt
我想将它们(或只需要的)转换成一个文件 graph.pb ,以便能够将它转移到我的Android应用程序 .
我尝试了脚本 freeze_graph.py
但它需要作为输入已经 input.pb 文件,我没有 . (我之前只提到过这6个文件) . 如何获得这个 freezed_graph.pb 文件?我看到几个线程,但没有一个为我工作 .
4 回答
您可以使用此简单脚本来执行此操作 . 但是您必须指定输出节点的名称 .
因为它可能对其他人有帮助,我也在回答github后回答这里;-) . 我想你可以尝试这样的东西(使用tensorflow / python / tools中的freeze_graph脚本):
这里的重要标志是--input_binary = false,因为文件graph.pbtxt是文本格式 . 我认为它对应于所需的graph.pb,它是二进制格式的等价物 .
关于output_node_names,这对我来说真的很困惑,因为我在这部分仍然有一些问题,但你可以在tensorflow中使用summarize_graph脚本,它可以将pb或pbtxt作为输入 .
问候,
斯蒂芬
我尝试了freezed_graph.py脚本,但output_node_name参数完全令人困惑 . 工作失败了 .
所以我尝试了另一个: export_inference_graph.py . 它按预期工作!
我使用的tensorflow安装包来自这里:https://github.com/tensorflow/models
首先,使用以下代码生成graph.pb文件 . 使用tf.Session()作为sess:
然后,使用汇总图获取输出节点名称 . 最后,使用
生成冻结图 .