Как перенести обучение или тонко настроить YOLOv4-даркнет с замораживанием некоторых слоев?

#object-detection #yolo #transfer-learning #darknet #yolov4

Вопрос:

Я новичок в области обнаружения объектов.

Во-первых, я следовал за пользовательским поездом YOLOv4 отсюда, я успешно следовал учебнику. Затем я начал думать, что если у меня есть новая задача, похожая на предварительно обученную YOLOv4 (которая использует классы COCO 80), и у меня только небольшой размер набора данных, то я думаю, что было бы здорово, если бы я мог точно настроить модель (разморозить только последний слой), чтобы сохранить или даже увеличить производительность детектора, используя только небольшой и аналогичный набор данных. Эта ссылка, по-видимому, подтверждает мою мысль о тонкой настройке, которую я хотел выполнить.

Затем я зашел на github, чтобы проверить, как замораживать слои, и обнаружил, что мне следует использовать stopbackward=1 . В нем говорится, что

«…установите параметр stopbackward=1 для слоя 136 в cfg-файле»

Но я понятия не имею, где находится «слой-136» в cfg-файле здесь, а также я понятия не имею, куда поместить stopbackward=1 , если я хочу разморозить только последний слой (с замораживанием всех остальных слоев). Итак, подведем итог моим вопросам.

  1. Где (в какой строке) поместить stopbackward=1 файл yolov4-custom.cfg, если я хочу разморозить последний слой и заморозить остальные слои?
  2. Что такое «слой-136», упомянутый в ссылке на github? (это один из слоев классификатора? или иначе?)
  3. В какую строку yolov4-custom.cfg я должен поместить stopbackward=1 для этого слоя-136?

Любая дополнительная информация от вас будет очень признательна. Пожалуйста, посоветуйте.

Заранее спасибо.

С уважением, Сона