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日 上午11:50

相关推荐

本站注重文章个人版权,不会主动收集付费或者带有商业版权的文章,如果出现侵权情况只可能是作者后期更改了版权声明,如果出现这种情况请主动联系我们,我们看到会在第一时间删除!本站专注于人工智能高质量优质文章收集,方便各位学者快速找到学习资源,本站收集的文章都会附上文章出处,如果不愿意分享到本平台,我们会第一时间删除!