Ubuntu和Windows使用Mmdetection训练Swin-Transformer+Mask-RCNN

最近想用各种SOTA的Swin-Transformer来试试实例分割效果,于是找了一下教程实验了一下,主要分为以下步骤:

1、安装Mmdetection

这部分的教程很多,网上搜一下就行了,但是这里出错最多。

2、下载Swin-Transformer作者(作者已经把实例分割、语义分割各种都做过了一遍)的预训练模型,链接如下:https://github.com/microsoft/Swin-Transformer,因为我用的是Mask-RCNN,所以用的红线框柱的模型。

Ubuntu和Windows使用Mmdetection训练Swin-Transformer+Mask-RCNN

3、修改configs文件,具体而言有以下2个:

1、修改__base__:
第一个地方该“data_root”即可,第二个改“num_classes”(有两个都要改,注意不加背景类),并把预训练模型路径加在第一行,如下所示:
Ubuntu和Windows使用Mmdetection训练Swin-Transformer+Mask-RCNN

第三个改不改无所谓,就是一些说模型多久训练完的,当然这里也可以在“load_from”后面加上预训练模型路径,或者直接按我上面那样直接写进去。2、修改configs下面的swin文件夹里面的画红框文件
Ubuntu和Windows使用Mmdetection训练Swin-Transformer+Mask-RCNN
这个里面改改最大的训练次数和一些其他参数,可以修改。

3、修改mmdet文件夹

因为我用的是COCO数据集的格式,这里只要把两个里面的类别都改成自己的类别名称就可以了,如下:
Ubuntu和Windows使用Mmdetection训练Swin-Transformer+Mask-RCNN
Ubuntu和Windows使用Mmdetection训练Swin-Transformer+Mask-RCNN
最后就可以训练了,运行如下命令:

python tools/train.py configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py

测试的话用下面命令(用的最后一个模型):

python demo/image_demo.py demo/52.tif configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py work_dirs/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco/latest.pth

把影像名字(52.tif)和模型(latest.pth)改掉就行了

4、易错点:
1、AssertionError: MMCV==1.3.9 is used but incompatible. Please install mmcv>=1.3.17, <=1.6.0.
mmcv和mmdet版本不对应问题,一个简单办法。不用mmcv-full,直接用mmcv,安装的时候直接用pip安装指定版本即可。
2、TypeError: MaskRCNN: SwinTransformer: init() got an unexpected keyword argument ‘embed_dim’
这个的问题还是版本的问题,不过这个是mmdet的版本问题,解决方法依旧是直接重新安装mmdet就完事,不用mim安装,用pip安装完事。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2022年6月15日 上午11:48
下一篇 2022年6月15日

相关推荐

此站出售,如需请站内私信或者邮箱!