Как обучить ssd-mobilenet с нуля

Как я могу переобучить ssd-mobilenet-v2 из зоопарка модели обнаружения объектов tensorflow без передачи обучения. Я имею в виду каждый вес, а не только последний слой.

Нужно ли мне создавать сетевую архитектуру и сценарий для обучения, или я могу внести незначительные изменения в файл .config или сценарий train.py, указанный в документации по обучению детектора пользовательских объектов.

Сможет ли этот подход улучшить / ухудшить точность / потери сети?

Заранее благодарю за любую помощь.


person yieniggu    schedule 13.03.2020    source источник


Ответы (1)


Во-первых, по умолчанию все параметры переобучаются, если иное не указано в файле pipeline.config.

Есть файл pipeline.config, который вы используете для управления процессом обучения. https://github.com/tensorflow/models/blob/master/research/object_detection/samples/configs/ssd_mobilenet_v2_coco.config

В файле конфигурации вы можете определить, хотите ли вы загружать параметры модели из контрольной точки или нет. Вы можете выбрать несколько действий: 1. загрузить параметры для магистрали (т.е. экстрактор функций мобильной сети) 2. загрузить параметры для заголовков прогнозирования и регрессии. 3. не загружайте параметры (обычно вы не предпочтете этот - потребуется больше времени для обучения и схождения)

Чтобы быть более конкретным, вы должны сосредоточить внимание на следующих узлах в pipline.config:

  1. fine_tune_checkpoint - контрольная точка для исходной модели, которую вы хотите использовать для переноса обучения.
  2. fine_tune_checkpoint_type - определите, является ли контрольная точка классификацией / обнаружением
  3. load_all_detection_checkpoint_vars - если True, то параметры из fine_tune_checkpoint будут загружены до начала обучения.
  4. freeze_variables - если вы не хотите переобучать все параметры, вы можете определить, какие переменные заморозить. (см. полную документацию по ним в их прото-файле object_detection / protos / train.proto) - https://github.com/tensorflow/models/blob/master/research/object_detection/protos/train.proto)

Пример:

153   fine_tune_checkpoint: "<PATH-TO-DOWNLOADED-CKPT>/model.ckpt"
154   fine_tune_checkpoint_type: detection
155   load_all_detection_checkpoint_vars: true

Все параметры будут загружены и переобучены.

person Tamir Tapuhi    schedule 13.04.2020