Обучение модели вызова mmdetection
Каталог статей
- Обучение модели вызова mmdetection
Преобразование формата набора данных из labelme в coco
Первый импорт данных в
назван в форме
Потому что версия mmdetection теперь обновлена до 3.x
Итак, структура проекта изменилась
Измени этоcoco.py
Измени этоclass_names.py
После запуска модели посмотрите на сгенерированный файл и зажмите его
Затем запустите этот конфиг
версия пакета
В основном эти три пакета
Mmdet, похоже, установлен вместе с mim
Этот пакет устанавливается в соответствии с инструкцией официального сайта.
настраивать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
модуль.
Обратите внимание, что переменные среды, установленные этим методом, действительны только в текущем сеансе командной строки. Если вы запускаете новый сеанс командной строки, вам нужно снова установить переменную среды. Если вы хотите, чтобы настройки переменных среды сохранялись в системе, вам необходимо добавить указанную выше команду в настройки переменных системной среды.
диффузионная модель
обучение модели
Эта оценка зависит от количества раундов
Я проехал 90000 с этой моделью
я не знаю, как это работает
Потому что предустановка модели была слишком высокой на 450000 в начале.
Он взорвался менее чем за минуту.
закончил бежать
Он фактически завершился из-за ошибки, что изображение не существует
Ровно до 15000 итераций
К счастью, контрольная точка сохранена для проверки модели.
Нарисуйте график потерь
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
, который будет выводиться в корневую директорию проекта...
модель обнаружения
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
будет отображаться один за другим, поэтому обучение очень медленное.
Если его не добавить, результат выйдет менее чем через минуту.
Вы можете увидеть информацию журнала обучения для наборов тренировок и тестов, отмеченных в моей модели.
йоло модель
Запуск модели в первый раз загрузит некоторые файлы
Его необходимо обрезать после первого запуска, рабочий файл конфигурации необходимо получить из указанной рабочей директории, а затем запустить
После первого запуска вы можете положить файл конфигурации, сгенерированный моделью, в свою собственную папку конфигурации, затем изменить некоторые необходимые свойства, а затем запустить, так что в основном проблем и багов не будет.
Видно, что после загрузки модели обучение начинает проходить нормально.
Есть еще один ключевой момент.Вы можете видеть, что приведенная выше потеря очень велика.Потому что предтренировочная модель не загружена, модель обучается с нуля, а общее количество картинок в моем собственном наборе данных составляет всего шесть или семь сотен. , и это число по-прежнему очень мало, поэтому, если вы хотите относительно хорошо повлиять на ранний небольшой набор данных, загрузка предварительно обученной модели более важна.
Чтобы load_from
заполнить путь к модели предварительного обучения, я загрузил все файлы контрольных точек, чтобы использовать модель предварительного обучения.
Но потом сообщил о странной ошибке
йолоф модель
Конечно, вам нужно начать с вашего собственного файла конфигурации.
так это сработало
Хотя запускать надо из конфигурационного файла модели в конфигах в начале
Но work-dir
после генерации конфигурационного файла надо запускать из файла
Но потом сообщил о странной ошибке