Swin-Transformer-Object-Detection环境搭建(Win10+Anaconda3+mmdetection)(最详细)

原文地址:https://arxiv.org/abs/2103.14030

代码地址:https://github.com/microsoft/Swin-Transformer

目标检测:https://github.com/SwinTransformer/Swin-Transformer-Object-Detection

mmdetection项目地址:mmdetection.getstarted

文章目录

  • 前言
  • 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版本对应关系Swin-Transformer-Object-Detection环境搭建(Win10+Anaconda3+mmdetection)(最详细)_第1张图片

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环境搭建

  1. 打开anaconda power shell 我的anaconda的初始目录是D:/anaconda3
  2. conda create -n swin python=3.8
  3. conda activate swin
  4. conda install pytorch=1.8 torchvision cudatoolkit=10.2 -c pytorch
  5. 下载Swin-Transformer-Object-Detection项目到你自己的文件目录下,我的是D:/anaconda3/Swin-Transformer-Object-Detection-master,下载地址见本文开头。
  6. cd到该项目目录下

cd Swin-Transformer-Object-Detection-master

3.2 安装mmcv

  1. mmcv官方文档:mmcv文档 可以参考该流程
  2. 找到你的VS2019的cl.exe文件所在位置,我的是D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\bin\Hostx86\x64默认安装在C盘,我的是D盘。复制该目录。
  3. 配置环境变量:win10左下角搜索框输入path,打开环境变量,系统变量path中添加该路径,并上移到最顶部。因为如果你的系统里有其他的vs变量可能不会优先调用这个。一直确定,并重启电脑生效。(或cmd中输入set Path=c,再关掉power shell再重启就立即生效,不用重启或者注销)
  4. 在第5步的目录下输入cl,若出现如下图所示情况则配置成功。
    Swin-Transformer-Object-Detection环境搭建(Win10+Anaconda3+mmdetection)(最详细)_第2张图片
  5. cuda环境变量配置:已安装好跳过这步,有多个cuda更改CUDA_PATH最后的版本号即可选择使用哪个cuda。
    在这里插入图片描述
  6. 安装最新版mmcv:mmcv-1.3.1 为方便大家直接附上链接和提取码

链接:https://pan.baidu.com/s/1WIbc6X3l9MFbE6NgONLnQA
提取码:1ghq

解压到从github上下载的Swin-Transformer-Object-Detection-master文件夹中

  1. 去N卡官网找到的你的显卡算力,笔者的是在这里插入图片描述
  2. cd mmcv-1.3.1目录下,输入如下命令:

$env:TORCH_CUDA_ARCH_LIST=“7.5”
$env:MMCV_WITH_OPS = 1
$env:MAX_JOBS = 8 注:8线程编译,显卡不行可以换小

  1. 输入python setup.py build_ext进行编译,几分钟完事。
    在这里插入图片描述
  2. 输入python setup.py develop安装,几分钟完事。

在这里插入图片描述

3.3 安装mmdetection

  1. cd … 退到上一级目录
    在这里插入图片描述
  2. pip install -r requirements.txt 安装所需依赖 包括Cython等,新的conda环境需要安装的东西多一点,耐心等待即可。
  3. 输入python setup.py develop安装会显示已安装完毕。

3.4 安装Apex

如果要跑Swin Transformer就需要安装,不跑就不需要。

  1. 直接上链接:

链接:https://pan.baidu.com/s/1mPePs9ds9vpsP7f4RzCVHg
提取码:wg2z

解压到从github上下载的Swin-Transformer-Object-Detection-master文件夹中

  1. cd apex-master
  2. python setup.py install (pip install -v --no-cache-dir --global-option="–cpp_ext" --global-option="–cuda_ext".是Linux系统下的安装命令)

3.5 简单Demo测试

  1. cd … 退回到项目目录
  2. 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

测试结果:
Swin-Transformer-Object-Detection环境搭建(Win10+Anaconda3+mmdetection)(最详细)_第3张图片
安装完毕。


总结

从github上下载的原始Swin-Transformer-Object-Detection
Swin-Transformer-Object-Detection环境搭建(Win10+Anaconda3+mmdetection)(最详细)_第4张图片
安装所有相关需求之后:
Swin-Transformer-Object-Detection环境搭建(Win10+Anaconda3+mmdetection)(最详细)_第5张图片
执行命令之前一定要注意所在目录,看清楚之后再操作!

你可能感兴趣的:(环境配置,小技巧汇总专栏,python,pytorch,c++,经验分享,深度学习)