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

Я обучил свое обнаружение настраиваемых объектов с помощью darknet yolov3, пока средняя потеря не снизилась до 0,06, но теперь я хочу обучить его с помощью дополнительных обучающих и тестовых изображений (возможно, также удаление некоторых файлов изображений). Могу ли я выполнить эти шаги и продолжить тренировку с окончательным файлом .weights или мне следует начать с самого начала?


person Cengizz    schedule 18.10.2019    source источник


Ответы (5)


Да, вы можете использовать обученную в настоящее время модель (файл .weights) в качестве предварительно обученной модели для нового сеанса обучения. Например, если вы используете репозиторий AlexeyAB вы можете обучить свою модель с помощью такой команды:

darknet.exe detector train data/obj.data yolo-obj.cfg darknet53.conv.74

где darknet53.conv.74 - предварительно обученная модель.

В новом сеансе тренировки вы можете добавлять или удалять изображения. Однако базовые конфигурации должны быть правильными (например, количество классов и т. Д.).

Согласно упомянутой мной странице:

в исходном репозитории исходный репозиторий файл весов сохраняется только один раз за каждые 10 000 итераций

person Hadi GhahremanNezhad    schedule 18.10.2019
comment
Еще один вопрос :) Я использовал конфигурацию yolov3, где ширина и высота 416, и в основном я использовал изображения 700x700 + для обучения и его работоспособности, но когда мои объекты стали меньше на веб-камере, обнаружение становится невозможным на средних расстояниях. Для лучшего обнаружения мелких объектов: следует ли тренировать изображения большого размера с небольшими объектами или изображения небольшого размера с большими фигурами объектов. Что вы думаете? - person Cengizz; 18.10.2019
comment
Лучше увеличить ширину и высоту 416 в конфигурационном файле YOLOV3 (например, до 832). Вы можете сделать еще кое-что. Возможно, этот ответ может помочь. - person Hadi GhahremanNezhad; 18.10.2019

Если вы продолжите, вам нужно указать другие эпохи. Например, если вы тренируетесь до 300/300, то возобновление также будет тренироваться до 300 (начиная с 300), если вы не укажете больше эпох.

python train.py --resume

person Erol Gerceker    schedule 22.05.2020

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

это должно сработать и возобновить обучение модели с новым набором изображений :)

person code-freeze    schedule 02.08.2020

Если вы только что изменили набор данных, но не заинтересованы в изменении архитектуры модели, вы можете напрямую возобновить работу с ранее сохраненной модели, используя DarkNet в AlexeyAB / darknet. Например,

darknet.exe detector train cfg/obj.data cfg/yolov3.cfg yolov3_weights_last.weights -clear -map

Флаг clear сбрасывает итерации, сохраненные в весах, что подходит в случае изменения набора данных. Это связано с тем, что скорость обучения часто зависит от итераций, и вы, вероятно, не захотите изменять конфигурации.

person ZenjieLi    schedule 26.12.2020

откройте .cfg, найдите код max_batches, который может быть в 22 строке, установите большее значение:

max_batches = 500200

max_batches совпадает с итерацией передачи.

Как продолжить обучение после 50000 итераций? # 2633

person MonkeyStack    schedule 27.02.2020