概述
Swin-Ttransformer Object Detection 环境配置及训练
- 环境配置
- demo
- COCO训练
源码地址: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
简单记录下,安装、跑通、GPU训练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
没有出现错误就ok了
如果是GPU版本还需要输入torch.cuda.is_available()
出现True,就是成功了。(available()后面有括号)
-
根据官网安装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暂时不装也可以,如果仅使用cpu,完全可以不装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
尝试运行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训练
下载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
一般只要下载前三个就行了,包括训练和验证的图像和标签。
接下来要对代码做一些小修改,主要是①数据集的路径,②如果GPU带不动可以修改scaling大小。以上两点就可以了,其他的调试可以在后续再做。
- 打开配置文件
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
or coco_detection.py
),可以看到第二行,数据集路径data_root,改为自己存放数据集的路径
下面是寻找训练和验证集的路径,参考自己的路径。我的全部放在COCO文件夹下,annotations_trainval2017.zip解压后文件名为annotations。
OK到这里已经可以训练了,如果怕GPU带不动,那么看第二点
- ①和1中一样,调用哪个文件就在哪个文件中修改(
coco_instance.py
或coco_detection.py
),将缩放尺度改为(256,256)。一共有两处,应该是第八行和第十九行。
②在1中用到过的配置文件mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py
中修改三处尺度放缩。已经在图中圈出来了。
这是我训练中途的过程:
训练大概需要两天的时间吧
最后祝各位科研顺利,身体健康,万事胜意~
最后
以上就是能干小馒头为你收集整理的Swin-Ttransformer Object Detection 环境配置及训练环境配置demoCOCO训练的全部内容,希望文章能够帮你解决Swin-Ttransformer Object Detection 环境配置及训练环境配置demoCOCO训练所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复