Конфигурация среды Swin-Ttransformer Object Detection и обучение
Адрес исходного кода: https://github.com/SwinTransformer/Swin-Transformer-Object-Detection
Справочный каталог:
https://www.bilibili.com/video/BV1eu41197qK/?spm_id_from=333.788
https://www.bilibili. com /video/BV1Y3411676J?spm_id_from=333.337.search-card.all.click
Просто запишите шаги по установке, запуску и обучению исходного кода swin-t на графическом процессоре.
Конфигурация среды
- Сначала получите исходный код с официального сайта: https://github.com/SwinTransformer/Swin-Transformer-Object-Detection.
git clone https://github.com/SwinTransformer/Swin-Transformer-Object-Detection.git
-
Создайте новую среду conda и установите pytorch.Я использую python==3.6.13 и pytorch==1.7.1 и torchvision==0.8.2.Существует
множество руководств по установке pytorch, поэтому я не буду вдаваться в подробности здесь. Обратите внимание на соответствие версии GPU драйверу cuda. Позвольте мне указать метод проверки здесь:
$ python
введите командную строку python
import torch
, и все в порядке, если нет ошибки.Если
это версия GPU и вам нужно ввестиtorch.cuda.is_available()
True, это успех. (доступные() сопровождаются круглыми скобками )
-
Установить timm согласно официальному сайту
pip install timm==0.4.12
- Непосредственная установка mmcv-full не удалась
pip install mmcv-full==1.4.0
, но установка с помощью mim прошла успешно (процент успешных установок mim по-прежнему достаточно высок). Я видел, как другие блоггеры говорили, что версию 1.4.5 легко наступить на яму.
pip install openmim
mim install mmcv-full==1.4.0 #(这部分会下载opencv-python,就不需要单独装了)
- Далее устанавливаем согласно официальному сайту
pip install -r requirements.txt
python setup.py develop
- Пока можно не устанавливать apex.Если вы используете только процессор, вам вообще не нужно устанавливать apex. Но я установил его напрямую:
git clone https://github.com/NVIDIA/apex #(git clone的时候可能会失败,多试几次就好了。)
cd apex
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./ #(这句失败)
pip install -v --no-cache-dir ./ #(我是用这句成功的,在GPU上这句的成功率高)
На этом установка окончена.
демо
Попробуйте запустить demo.py
:
команду:
python demo/image_demo.py demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py ./mask_rcnn_swin_tiny_patch4_window7_1x.pth
Объясните, где:
configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py
это файл конфигурации,
./mask_rcnn_swin_tiny_patch4_window7_1x.pth
это параметры предобучения модели, я кладу его в текущую директорию, и пишу туда, куда ставится путь.
Предтренировочная модель скачана с официального сайта, и я её скачал
Результаты работы: видно, что точность обнаружения очень высока, а край захватывается точно.
Кокос обучение
Загрузить набор данных COCO: Адрес официального веб-сайта
Но официальный веб-сайт очень сложно загрузить, и веб-страница не может быть открыта.Следующий
адрес можно загрузить напрямую, скопировав на веб-страницу:
http://images.cocodataset.org/zips /train2017.zip
http://images.cocodataset.org/annotations/annotations_trainval2017.zip
http://images.cocodataset.org/zips/val2017.zip
http://images.cocodataset.org/annotations/stuff_annotations_trainval2017.zip
http ://images.cocodataset.org/zips/test2017.zip
http://images.cocodataset.org/annotations/image_info_test2017.zip
Как правило, вам нужно загрузить только первые три, включая обучающие и проверочные изображения и метки.
Затем нам нужно внести небольшие изменения в код, в основном ① путь к набору данных и ②, если графический процессор нельзя переместить, можно изменить размер масштабирования. Вышеуказанных двух пунктов достаточно, а остальные отладки можно сделать позже.
- Откройте файл конфигурации
swin-T-DE/configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py
(я изменил Swin-Transformer-Object-Detection на swin-T-DE) и
вы увидите, что вызывается файл coco_instance.py. Это целевая сегментация. Это не имеет значения. Сначала воспользуемся этим . Или учащиеся с обсессивно-компульсивным расстройством также могут изменить его на coco_detection.py.
Откройте любой файл, который называется ( coco_instance.py
или coco_detection.py
), вы увидите вторую строку, путь к набору данных data_root, и измените его на путь, по которому вы храните набор данных.
Ниже приведен путь к набору обучающих и проверочных наборов. См. собственный путь. Все мои лежат в папке COCO, а файл annotations_trainval2017.zip распакован и имя файла annotations.
ОК, тут уже можно тренироваться, если боитесь, что ГПУ не выдержит, то смотрите второй пункт
coco_instance.py
①Как и в 1, измените ( или ) , в каком файле вызыватьcoco_detection.py
, и измените масштаб масштабирования на (256, 256). Всего есть два места, которые должны быть восьмым и девятнадцатым рядами. ② Измените три шкалы в
файле конфигурации, используемом в 1 .mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py
На картинке он обведен кружком.
Вот что я делаю в середине обучения:
Обучение займет около двух дней.
Напоследок желаю всем успехов в научных исследованиях, крепкого здоровья и успехов во всем~