从Tensorflow Object Detection API Zoo模型导出的冻结图错误

时间:2019-03-14 19:15:58

标签: python tensorflow object-detection-api

我正在使用Tensorflow对象检测API项目(https://github.com/tensorflow/models/tree/r1.12.0/research/object_detection)处理Mask R CNN模型。我坚持使用r1.12.0版本(但这不是必须的,但我认为这不会影响我的问题。)我的计划是修改模型的某些“静态”部分,然后再次将其导出为冻结的图形格式。 >

第一步,我打算使用pipeline.config脚本(https://github.com/tensorflow/models/blob/r1.12.0/research/object_detection/export_inference_graph.py)从检查点文件和export_inference_graph.py重新生成冻结图。我下载了Inception V2模型(http://download.tensorflow.org/models/object_detection/mask_rcnn_inception_v2_coco_2018_01_28.tar.gz),并使用Tensorflow 1.12.0执行了脚本。它完成了工作并创建了冻结图。

问题是,如果我将原始冻结图与生成的图进行比较,则它们是不同的。如果我使用Tensorboard可视化它们,它们之间会有明显的区别。某些节点丢失,某些节点不同,等等。

我也尝试过其他模型(正常的Fast R CNN),我总是遇到相同的问题。

怎么可能?我应该如何使用检查点文件和pipeline.config文件来重新生成与原始附件完全相同的冻结图?

1 个答案:

答案 0 :(得分:0)

据我了解,您生成冻结图形的步骤很好。

关于冻结图的一件事是可以对其进行优化,例如将某些层融合在一起。优化可能会导致冻结的图看起来不同,因为可以执行或根本不执行不同的优化。但是,不同的冻结图不一定表示该图是错误生成的。

Here是关于冻结图优化的教程,以建立更快的投放模型。仅在此处列出以显示有几个优化选项。

此处What does freezing a graph in TensorFlow mean?是另一个与此问题相关的问题。