首页 > 解决方案 > 如何从 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 但问题是我不能单独使用它进行推理,但我需要使用它附带的变量文件夹。这就是为什么我要问他们是否有一种方法可以将经过训练的模型导出到 frozen_inference_graph.pb 以将其用于推理,而无需 TF1 中的变量文件夹。

标签: pythontensorflowcomputer-visionobject-detectionobject-detection-api

解决方案


不幸的是,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 不再打算生成冻结图!

编辑:可以在这里找到很好的解决方法


推荐阅读