Неправильный экспорт замороженных графиков из модели зоопарка API Tensorflow Object Detection - PullRequest
0 голосов
/ 14 марта 2019

Я работаю с моделью Mask R CNN, используя проект API Tensorflow Object Detection (https://github.com/tensorflow/models/tree/r1.12.0/research/object_detection). Я придерживаюсь версии 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, между ними есть очевидные различия. Некоторые узлы отсутствуют, некоторые узлы отличаются и т. Д.

Я пробовал и другие модели (обычный Fast R CNN), у меня всегда была одна и та же проблема.

Как это может быть? Как мне использовать файлы контрольных точек и файл pipeline.config для восстановления точно такого же замороженного графика, который изначально был прикреплен?

1 Ответ

0 голосов
/ 20 марта 2019

Насколько я понял, ваши шаги генерации замороженного графа в порядке.

Одна вещь о замороженном графике состоит в том, что на нем можно выполнить оптимизацию, например, объединить несколько слоев. Оптимизация может привести к тому, что ваш замороженный график будет выглядеть по-разному, так как различные оптимизации могут выполняться или не выполняться вообще. Но другой замороженный граф не обязательно означает, что граф генерируется неправильно.

Здесь - руководство по оптимизации на замороженном графике для создания более быстрой модели обслуживания. Просто перечислите здесь, чтобы показать, что есть несколько вариантов оптимизации.

Здесь Что означает «замораживание» графика в TensorFlow? - это еще одна проблема, которая также отчасти связана с этой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...