文章目录
- 前言
- 1.mmdetection版本要求
- 2.Swin-Transformer-Object-Detection环境要求
- 3.详细流程
- 3.1 anaconda3环境搭建
- 3.2 安装mmcv
- 3.3 安装mmdetection
- 3.4 安装Apex
- 3.5 简单Demo测试
- 总结
前言
本文包含mmdetection、mmcv等windows版本的安装,没接触过Swin-Transformer的读者也可根据流程单独安装mmdetection、mmcv等。其他项目如百度的PP-YOLO也需要安装相似的依赖。
1.mmdetection版本要求
Linux or macOS (Windows is in experimental support)
- Python 3.6+
- PyTorch 1.3+
- CUDA 9.2+ (If you build PyTorch from source, CUDA 9.0 is also compatible)
- GCC 5+
- MMCV
- mmcvhe和mmdetection版本对应关系
mmcv-full的官方安装:加粗的链接可以看到各个版本
pip install mmcv-full -f https://download.openmmlab.com/mmcv/ dist/{cu_version}/{torch_version}/index.html
根据mmcv的安装要求发现,Windows下的mmcv-full安装版本最高到1.1.5,对应的mmdetection的版本最高为2.7.0,而Swin-Transformer目标检测要求mmdetection的版本为最新的2.11.0,所以我们需要自己编译mmcv-full使其达到要求的版本,而不是用官方提供的方式安装。
2.Swin-Transformer-Object-Detection环境要求
- vs2019 (只装适配于mmdetection的c++编译工具和SDK即可,不用全装,求稳就全装)
- pytorch 1.8.1+
- torchvision 0.9.1+
- python 3.8+
- cuda 10.2+
3.详细流程
3.1 anaconda3环境搭建
- 打开anaconda power shell 我的anaconda的初始目录是D:/anaconda3
- conda create -n swin python=3.8
- conda activate swin
- conda install pytorch=1.8 torchvision cudatoolkit=10.2 -c pytorch
- 下载Swin-Transformer-Object-Detection项目到你自己的文件目录下,我的是D:/anaconda3/Swin-Transformer-Object-Detection-master,下载地址见本文开头。
- cd到该项目目录下
cd Swin-Transformer-Object-Detection-master
3.2 安装mmcv
- mmcv官方文档:mmcv文档 可以参考该流程
- 找到你的VS2019的cl.exe文件所在位置,我的是D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\bin\Hostx86\x64默认安装在C盘,我的是D盘。复制该目录。
- 配置环境变量:win10左下角搜索框输入path,打开环境变量,系统变量path中添加该路径,并上移到最顶部。因为如果你的系统里有其他的vs变量可能不会优先调用这个。一直确定,并重启电脑生效。(或cmd中输入set Path=c,再关掉power shell再重启就立即生效,不用重启或者注销)
- 在第5步的目录下输入cl,若出现如下图所示情况则配置成功。
- cuda环境变量配置:已安装好跳过这步,有多个cuda更改CUDA_PATH最后的版本号即可选择使用哪个cuda。
- 安装最新版mmcv:mmcv-1.3.1 为方便大家直接附上链接和提取码
链接:https://pan.baidu.com/s/1WIbc6X3l9MFbE6NgONLnQA
提取码:1ghq
解压到从github上下载的Swin-Transformer-Object-Detection-master文件夹中
- 去N卡官网找到的你的显卡算力,笔者的是
- cd mmcv-1.3.1目录下,输入如下命令:
$env:TORCH_CUDA_ARCH_LIST=“7.5”
$env:MMCV_WITH_OPS = 1
$env:MAX_JOBS = 8 注:8线程编译,显卡不行可以换小
- 输入python setup.py build_ext进行编译,几分钟完事。
- 输入python setup.py develop安装,几分钟完事。
3.3 安装mmdetection
- cd … 退到上一级目录
- pip install -r requirements.txt 安装所需依赖 包括Cython等,新的conda环境需要安装的东西多一点,耐心等待即可。
- 输入python setup.py develop安装会显示已安装完毕。
3.4 安装Apex
如果要跑Swin Transformer就需要安装,不跑就不需要。
- 直接上链接:
链接:https://pan.baidu.com/s/1mPePs9ds9vpsP7f4RzCVHg
提取码:wg2z
解压到从github上下载的Swin-Transformer-Object-Detection-master文件夹中
- cd apex-master
- python setup.py install (pip install -v --no-cache-dir --global-option=“–cpp_ext” --global-option=“–cuda_ext”.是Linux系统下的安装命令)
3.5 简单Demo测试
- cd … 退回到项目目录
- python demo/image_demo.py demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth
测试结果:
安装完毕。
总结
从github上下载的原始Swin-Transformer-Object-Detection
安装所有相关需求之后: