如何从Tensorflow Objectdetection 2中的检查点导出Frozen_inference_graph.pb

问题描述

如何将经过训练的模型导出到Frozen_inference_graph.pb而不是saved_model.pb,因为当我使用Tensorflow对象检测v2随附的exporter_main_v2.py时,它会给我一个文件

├─ exported-models/
   └─ my_model/ 
      ├─ checkpoint/
      ├─ saved_model/
            └─ assets/
            ├─ variables/
            └─ saved_model.pb
      └─ pipeline.config

在save_model内,我有save_model.pb,但问题是我不能单独使用它进行推理,但是我需要使用它随附的变量文件夹。这就是为什么我要问theire是否是一种将训练后的模型导出到Frozen_inference_graph.pb的方法,以便将其用于推理,而无需像TF1这样的变量文件夹。

解决方法

不幸的是,TF2 不支持export_inference_graph.py,它可以完成您所要求的确切操作——但仅适用于TF1。 exporter_main_v2.py 不会导出任何冻结图。

你可以做的是使用

冻结你的图表
from tensorflow.python.tools import freeze_graph
freeze_graph.freeze_graph(...)

你也可以在你电脑的tensorflow\python\tools中找到freeze_graph.py这个文件,里面有很好的使用说明。 另外,你可以看看这个如何冻结它:freeze_graph_test 但是,TF2 不再打算生成冻结图!

编辑:可以找到很好的解决方法 here

,

我们在TensorFlow模型git中具有引用以导出模型以尝试使用它进行推理-https://github.com/tensorflow/models/blob/master/research/object_detection/export_inference_graph.py