Win10使用Swin Transformer做语义分割 (使用自己的数据集 + 图解超详细)
Swin-Transformer-Semantic-Segmentation
Swin Transformer 做语义分割的代码地址如下:https://github.com/SwinTransformer/Swin-Transformer-Semantic-Segmentation
但是,搭建完环境后会出现 报错,TypeError: EncoderDecoder: SwinTransformer: __init__() got an unexpected keyword argument 'embed_dim'
,链接如下:https://github.com/open-mmlab/mmsegmentation/issues/752
注意:问题出在配置文件和模型的embed维度变量命名为embed_dim,但在模型内部的命名为embed_dims
mmsegmentation
根据上面issues的解答,我选用了OpenMMLab的修改版源码,链接如下:https://github.com/open-mmlab/mmsegmentation
于是,便重新进行部署。
mmsegmentation 已支持的数据集类型
其中,大部分数据集支持免费下载。
- Cityscapes
- PASCAL VOC
- ADE20K
- Pascal Context
- COCO-Stuff 10k
- COCO-Stuff 164k
- CHASE_DB1
- DRIVE
- HRF
- STARE
- Dark Zurich
- Nighttime Driving
- LoveDA
- Potsdam
- Vaihingen
- iSAID
mmcv安装
参考文章:https://blog.csdn.net/qq_44824148/article/details/124099034?spm=1001.2014.3001.5502
mmdet安装
参考文章:https://blog.csdn.net/qq_44824148/article/details/124099034?spm=1001.2014.3001.5502
apex安装
参考文章:https://blog.csdn.net/qq_44824148/article/details/124099034?spm=1001.2014.3001.5502
下载权重
所有模型及其对应权重均在readme.md
中。
测试
以 deeplabv3plus 模型为例,测试ade20k数据集,测试命令如下:
python tools/test.py configs/deeplabv3plus/deeplabv3plus_r50-d8_512x512_80k_ade20k.py checkpoints/deeplabv3plus_r50-d8_512x512_80k_ade20k_20200614_185028-bf1400d8.pth --show
以 pspnet 模型为例,测试cityscapes数据集,测试命令如下:
python tools/test.py configs/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes.py checkpoints/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --show
训练
使用的为单GPU训练的,使用ade20k数据集,训练pspnet模型的权重,命令如下:
python tools/train.py ./configs /pspnet/pspnet_r50-d8_512x512_80k_ade20k.py