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’,如下图所示

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星空下的仰望者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值