Windows10 配置 Swin-Transformer 踩坑记

机器配置:rtx 3090

CUDA:11.1

Python:3.8

pytorch:1.9.0

步骤:

1)下载Swin-Transformer:

git clone --recursive https://github.com/SwinTransformer/Swin-Transformer-Object-Detection.git

2)安装pytorch:

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

3)安装其他依赖项,pip换成国内源会快一点:

pip install -r requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ 

4)安装好后记得下载并安装最新的mmcv-full,可以下在Swin-Transformer的根目录下:

git clone --recursive https://github.com/open-mmlab/mmcv
cd mmcv
set MMCV_WITH_OPS = 1
pip install -e .

如果不将MMCV_WITH_OPS 设为1则会报如下错误:

最好是自己编译,如果使用pip安装可能报如下错误:

 5)安装好mmcv后,退出mmcv目录,配置其他依赖项:

cd ..
python steup.py develop

6)经过上面步骤,mmdet会安装配置好,不需要额外安装,否则会报错:KeyError: MaskRCNN: SwinTransformer is not in the models registry,主要原因是最新的mmdet尚未将Swin-Transformer整合进去,只能采用Swin-Transformer自带的mmdet

7)记得用pip list命令查一下自己是否安装了pycocotools工具包,如果安装了,记得卸载,否则会报以下错误或者报不兼容的错误。

pip uninstall pycocotools-windows
pip install mmpycocotools

8)配置apex以支持混合精度运算:

git clone --recursive https://github.com/NVIDIA/apex
cd apex
python setup.py install

9)设置自己的数据集,记得将配置文件中的num_classes改为自己数据集的类别数,同时,记得修改mmdet/datasets/coco.py中的CLASSES变量。

10)单机单卡训练采用如下代码

python tools/train.py configs/swin/cascade_mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py

可能会报如下错误

 此时需要将配置文件中的‘SyncBN’改为‘BN’,如下图所示

版权声明:本文为CSDN博主「星空下的仰望者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Lxh19920114/article/details/119781019

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

YOLOv5人脸口罩检测

YOLOv5人脸口罩检测 Pytorch框架下YOLOv5口罩检测 代码和训练权重:https://download.csdn.net/download/weixin_51154380/58000038 人脸口罩检测结果&#x