机器配置: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
暂无评论