从Tensorflow Object Detection API动物园模型导出错误的冻结图形

问题描述 投票:0回答:1

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

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

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

我也试过其他型号(正常的快速R CNN),我总是遇到同样的问题。

怎么会这样?我应该如何使用检查点文件和pipeline.config文件重新生成最初附加的完全相同的冻结图?

python tensorflow object-detection-api
1个回答
0
投票

据我所知,你生成冻结图的步骤很好。

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

Here是一个关于冻结图优化的教程,可以提供更快的服务模型。刚刚在此处列出,表明有几种优化选项。

这里What does freezing a graph in TensorFlow mean?是另一个问题,也与这个问题有关。

© www.soinside.com 2019 - 2024. All rights reserved.