Понимание конфигурационных файлов yolo.cfg даркнета - PullRequest
0 голосов
/ 17 мая 2018

Я искал в интернете, но нашел очень мало информации по этому поводу, я не понимаю, что представляет каждая переменная / значение в файлах .cfg yolo. Поэтому я надеялся, что некоторые из вас могут помочь, я не думаю, что у меня есть единственная проблема, поэтому если кто-то знает 2 или 3 переменные, пожалуйста, опубликуйте их, чтобы люди, которым нужна такая информация в будущем, могли их найти.

Главное, что я хотел бы знать:

  • партии
  • 1010 * подразделения *

  • Распад

  • импульс

  • * * Каналы тысяча двадцать-один * +1022 *
  • фильтры

  • активация

Ответы [ 2 ]

0 голосов
/ 06 августа 2019

партия количество изображений, выбранных в каждой партии для уменьшения потерь

подразделения деление размера партии на нет.субпартий для параллельной обработки

затухание - это обучающий параметр, и, как указано в журнале, используется импульс 0,9 и затухание 0,0005

импульс - это обучающий параметр, и, как указано в журнале, используется импульс 0,9 и затухание 0,0005

channel Channels относится к размеру канала входного изображения (3) дляBGR-изображение

filters количество фильтров, используемых для алгоритма CNN

активация функция активации CNN: в основном используется функция Leaky RELU (что я видел в основном в файлах конфигурации)

0 голосов
/ 05 июня 2018

Вот мое текущее понимание некоторых переменных. Не обязательно правильно, хотя:

[чистый]

  • партия: что много изображений + метки используются в прямом проходе для вычисления градиента и обновления весов путем обратного распространения.
  • подразделения: партия подразделяется на множество блоков. Изображения блока параллельно запускаются на графическом процессоре.
  • decay: возможно, термин для уменьшения весов, чтобы избежать больших значений. По соображениям стабильности я думаю.
  • каналы: лучше объяснено на этом изображении:

Слева у нас есть один канал с размером 4х4 пикселя. Слой реорганизации уменьшает размер до половины, а затем создает 4 канала со смежными пикселями в разных каналах. figure

  • импульс: я думаю, новый градиент вычисляется по импульсу * предыдущий_градиент + (1- импульс ) * градиент_of_current_batch . Делает градиент более стабильным.
  • Адам: Использует оптимизатор Адам? У меня не работает, хотя
  • burn_in: для первых x серий медленно увеличивайте скорость обучения до ее окончательного значения (значение параметра learning_rate ). Используйте это, чтобы определить скорость обучения, отслеживая, до какой величины уменьшается потеря (до того, как она начинает расходиться).
  • policy = steps: Используйте параметры шагов и шкал ниже для настройки скорости обучения во время обучения
  • шагов = 500,1000: скорректировать скорость обучения после 500 и 1000 партий
  • scale = 0.1,0.2: после 500 умножить LR на 0.1, затем после 1000 умножить снова на 0.2
  • угол: увеличить изображение путем поворота на этот угол (в градусах)

слои

  • filters: сколько сверточных ядер в слое.
  • активация: функция активации, реле, утечка и т.д. См. Src / activations.h
  • stopbackward: делать обратное распространение только до этого слоя. Поместите его в слой предпоследней свертки перед первым слоем йоло, чтобы тренировать только слои позади него, например, при использовании предварительно подготовленных грузов.
  • random: положить слои йоло. Если установлено значение 1, выполните увеличение данных, изменяя размеры изображений до разных размеров каждые несколько пакетов. Используется для обобщения размеров объектов.

Многие вещи более или менее говорят сами за себя (размер, шаг, batch_normalize, max_batches, ширина, высота). Если у вас есть еще вопросы, не стесняйтесь комментировать.

Опять же, имейте в виду, что я не уверен на 100% во многих из них.

...