Обучение модели вызова mmdetection

Обучение модели вызова mmdetection

Преобразование формата набора данных из labelme в coco

изображение-20230612102840681

Первый импорт данных в

назван в форме

422f4e7e2cbcb305cbb44b92fa5d6af

Потому что версия mmdetection теперь обновлена ​​до 3.x

Итак, структура проекта изменилась

Измени этоcoco.py

изображение-20230612004243817

Измени этоclass_names.py

c8322758537f71481eaee4baa3672a7

После запуска модели посмотрите на сгенерированный файл и зажмите его

5b472a88830c1b0bb8bcf346ab81681

Затем запустите этот конфиг

версия пакета

068f69f2dcd16e5209241f387bbeb3f

В основном эти три пакета

Mmdet, похоже, установлен вместе с mim

f28a7b23695bdf6049be520d026d692

Этот пакет устанавливается в соответствии с инструкцией официального сайта.

настраиватьPYTHONPATH

$env:PYTHONPATH += ";F:\Include\include\CV\openlab\mmdetection-3.x"

Операторы Python importиспользуются для импорта кода из других модулей Python в текущий модуль. Интерпретатор Python ищет модули для импорта в ряде предопределенных каталогов, называемых путем Python.

Когда вы выполняете сценарий Python, интерпретатор Python автоматически добавляет текущий каталог сценария к пути Python. Кроме того, Python также будет искать модули в PYTHONPATHкаталогах, указанных в переменных среды, и в некоторых местоположениях по умолчанию (например, в каталоге Libи site-packagesв каталоге установки Python).

В вашем случае в сообщении об ошибке говорится, что интерпретатор Python не может найти модуль, указанный в пути Python projects.example_project.dummy. Вероятно, это потому, что ваш projectsкаталог не находится на пути к Python.

Чтобы исправить это, вы можете projectsдобавить путь к каталогу include в PYTHONPATHпеременную среды. Например, если ваш projectsкаталог находится в F:\Include\include\CV\openlab\mmdetection-3.x, вы можете установить переменную среды следующим образом (в командной строке Windows):

$env:PYTHONPATH += ";F:\Include\include\CV\openlab\mmdetection-3.x"

Затем снова запустите скрипт, и интерпретатор Python сможет найти ваш projects.example_project.dummyмодуль.

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

диффузионная модель

обучение модели

a7a2dad054ee09d263dcd817b9eed61

6d1356ac46f2929e1c610038127c297

Эта оценка зависит от количества раундов

Я проехал 90000 с этой моделью

я не знаю, как это работает

Потому что предустановка модели была слишком высокой на 450000 в начале.

Он взорвался менее чем за минуту.

закончил бежать

Он фактически завершился из-за ошибки, что изображение не существует

Ровно до 15000 итераций

К счастью, контрольная точка сохранена для проверки модели.

изображение-20230612084356693

Нарисуйте график потерь

python .\tools\analysis_tools\analyze_logs.py plot_curve .\Evinci\20230612_015115\vis_data\20230612_015115.json --keys loss loss_cls loss_bbox

Вы можете добавить выходной путь --out out.pdf, который будет выводиться в корневую директорию проекта...

изображение-20230612084614811

Рисунок 1

модель обнаружения

python tools/test.py Evinci_config\diffusiondet_r50_fpn_500-proposals_1-step_crop-ms-480-800-450k_coco.py Evinci_diffusiondet\iter_15000.pth --show

--showЕго можно опустить.Этот процесс заключается в обучении на проверочном наборе, а затем выводе результатов.Если он добавлен, он --showбудет отображаться один за другим, поэтому обучение очень медленное.

изображение-20230612085524690

Если его не добавить, результат выйдет менее чем через минуту.

211029-019C_98_1_1129_312_0.717.png

Вы можете увидеть информацию журнала обучения для наборов тренировок и тестов, отмеченных в моей модели.

изображение-20230612205331605

йоло модель

Запуск модели в первый раз загрузит некоторые файлы

изображение-20230612164126520

Его необходимо обрезать после первого запуска, рабочий файл конфигурации необходимо получить из указанной рабочей директории, а затем запустить

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

Видно, что после загрузки модели обучение начинает проходить нормально.

изображение-20230612164407110

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

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

Но потом сообщил о странной ошибке

йолоф модель

Конечно, вам нужно начать с вашего собственного файла конфигурации.

изображение-20230612165330419

так это сработало

Хотя запускать надо из конфигурационного файла модели в конфигах в начале

Но work-dirпосле генерации конфигурационного файла надо запускать из файла

Но потом сообщил о странной ошибке

Supongo que te gusta

Origin blog.csdn.net/ahahayaa/article/details/131363269
Recomendado
Clasificación