Можно ли заморозить BoxClassifier в модели Faster RCNN Inception v2? - PullRequest
0 голосов
/ 04 ноября 2019

Я использую TensorFlow Object Detection API для переобучения модели Faster RCNN Inception v2, прошедшей предварительную подготовку COCO, в моем настраиваемом наборе данных, и недавно заметил, что некоторые из моих моделей BoxClassifierLoss ухудшаются в течение периода обучения (например, от 0,17 потерь до0,38 и после 100 эпох до 0,24 (после чего снова ухудшается или колеблется без улучшения)).

Поэтому я заинтересован в замораживании BoxClassifier для сохранения начальных весов, которые, очевидно, работают лучше.

Я прочитал, что в train.proto * 1006 есть параметр 'freeze_variables'*, но я не уверен относительно того, какие переменные нужно точно заморозить.

1 Ответ

0 голосов
/ 15 ноября 2019

Вы можете заморозить model.ckpt мета-файлы (файлы контрольных точек), которые хранятся в следующем месте:

C:\tensorflow1\models\research\object_detection\training

Эти файлы контрольных точек часто сохраняются во время обучения, поэтому вы можете проверить детали этого файла, когдаВаша ошибка уменьшается, а затем фиксирует ту же контрольную точку до окончательной модели.

Для замораживания модели вы можете использовать следующую команду:

python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_pets.config --trained_checkpoint_prefix training/model.ckpt-XXXX --output_directory inference_graph

Где, XXXX - число в имени файлаmodel.ckpt-XXXX.meta. В моем случае это model.ckpt-1970.meta, XXXX = 1970.

Оформить структуру папок на следующем изображении .

...