环境搭建
参考链接:
① (26条消息) Linux系统下搭建Swin Transformer目标检测环境_kiwi_hhh的博客-CSDN博客
② 【Swin Transformer 目标检测】-3.环境配置(实录篇)_哔哩哔哩_bilibili
③ Swin Transformer目标检测2——环境配置2 - beyonderwei (是②配套的文章)
(以①为主,更细节的操作参考②)
注意:
1. 常用终端命令:
python #进入python
exit() #退出python
cd 文件名 #打开该目录下的某一文件(以/隔开)
cd .. #返回上一级(注意..前面有空格)
nvidia -smi #查看gpu个数
2. 我的环境命名为 myswin
3. 先进入你想创建项目的文件夹,右键“在terminal中打开”,创建虚拟环境并激活。
4. 安装pytorch:在官网(PyTorch)中根据设备型号选择,然后自动生成一个命令,在terminal中执行即可。
注意这里装的torch版本号为1.8.2,torchvision为0.9.2,与链接①中略有不同(1.8.0,0.9.0),后面mmcv安装时的链接需要手动修改一下。
5. 需要提前下载预训练模型(.pth),并存进根目录。下载地址:https://github.com/SwinTransformer/Swin-Transformer-Object-Detection#cascade-mask-r-cnn
6. 测试环境配置是否成功所用命令:
python demo/image_demo.py demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth
若成功,会显示一张图片
7. 如果报错(如no module named ‘mmcv._ext',init...'embed'..),可以尝试卸载mmcv-full,重装
pip uninstall mmcv-full
pip install mmcv-full==1.2.4 (或尝试1.3.17,1.4.0) 本人安装的是1.2.4
参数修改(为了训练自己的数据集)
参考链接
① (26条消息) swin-transformer训练自己的数据集<自留>_壹万1w的博客-CSDN博客_transform训练自己的数据集
② (26条消息) 深度学习之目标检测(Swin Transformer for Object Detection)_qq_41627642的博客-CSDN博客_transformer 目标检测
③【Swin Transformer 目标检测】——5. 训练自己的数据集_哔哩哔哩_bilibili
④【Swin Transformer 目标检测】——5. 训练自己的数据集_哔哩哔哩_bilibili (③配套)
同样,以①为主体,②③④为参考
注意:
1. 在pycharm里,在该文件内搜索关键词:ctri+f
2. 修改尺寸img_scale=256,256。可以在coco_detection.py里也修改一下
3. batch_size和线程数 我没修改(均为2)
4. 类别个数为1。分类CLASSES中如果只有一个分类,一定要加逗号!!!
5. 我的最大epoch也没有修改
6. bug:IndexError: list index out of range
解决方式
1)检查数据集的json文件是不是超过最大限制了,打开json文件后会提示File size exceeds configured limit (2.56M), code insight features not available。(26条消息) 解决PyCharm 中File size exceeds configured limit (2560000),文件大小不够的问题_小鱼儿的博客的博客-CSDN博客
2)(26条消息) SwinTransformer搭建及一些问题_青柠味的脉动的博客-CSDN博客
7. 训练时长约40分钟,训练750验证250测试153张图片。