Windows10系统下swin-transformer目标检测环境搭建

Swin-Transformer-Object-Detection环境搭建

  • 前言
    • 1.环境准备
    • 2.虚拟环境创建
    • 3.安装pytorch
    • 4.安装mmcv
    • 5.安装mmdet
    • 6.安装apex
    • 7.测试


前言

刚搞明白了分类,又进来了检测这个大坑里。

CV第一步:从环境搭建开始!

环境总览:
Windows10/11+ Microsoft Visual Studio2019社区版
python3.7+pytorch1.8.1+torchvision0.9.1+cuda10.1
mmcv1.3.8+mmdet2.11.0

1.环境准备

(1)安装 Visual Studio

需要用到 C++ 安装编译库,所以需要安装 Microsoft Visual Studio,版本的话比较常见的是2019,最新的2022版本应该也可以,安装很简单。

下载地址:Microsoft Visual Studio官方下载地址

安装时记住安装位置,然后在 系统变量path 中添加VS2019的cl.exe文件路径:
**:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.****\bin\Hostx86\x64
星号的位置根据自己的安装情况进行替换 ),然后上移到最顶端,一路确定之后退出,关机重启。

(2)工程项目文件准备

在swin transformer官方github仓库下载或克隆代码工程文件,名字就命名为 Swin-Transformer-Object-Detection 就可以啦,然后在这个文件夹下新建一个命名为 checkpoints 的文件夹,将官方公开的那些预训练模型放进去,整体就是这个样子的。

Windows10系统下swin-transformer目标检测环境搭建_第1张图片

2.虚拟环境创建

老规矩,做一个新项目建一个新的虚拟环境。

在 Anaconda Powershell Prompt 中键入:

conda create -n swinmm python=3.7 -y
conda activate swinmm

PS: swinmm为环境名称,可自行更改!!!

3.安装pytorch

参考上一篇基于win10复现swin-transformer图像分类源码的安装和运行代码经验,接上一步键入:

conda install pytorch==1.8.1 torchvision==0.9.1 cudatoolkit=10.1 -c pytorch

4.安装mmcv

三种方式可以选择,自行尝试哪一种可以安装成功,这里是个大坑!

(1)自动安装(不稳定不推荐)

pip install openmim
mim install mmdet

(2)手动安装(强烈推荐!!!)

pip install mmcv-full==1.3.8 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.8.0/index.html

PS:
       one:命令中的 cu101torch1.8.0 为需要注意的地方,不是按照上述步骤的话自行更改,这里是1.8.0而不是1.8.1的原因官方有说明;

       two:具体的 cuda 和 pytorch 版本对应和安装命令可以在https://mmcv.readthedocs.io/en/latest/get_started/installation.html中查看;

       three:这里指定1.3.8版本是因为一开始我第二种方法没有成功,然后用的第三种方法从源码安装,结果装的 mmcv 是最新版本1.4.6,然后代码运行是会报错,提示:

AssertionError: MMCV==1.4.6 is used but incompatible. Please install mmcv>=1.2.4, <=1.4.0.

       所以mmcv的版本应该在1.2.4到1.4.0之间选择!

(3)从源码安装

使用命令:

git clone https://github.com/open-mmlab/mmcv.git

或者在该 github 仓库将 code 打包下载然后解压,然后在 Anaconda Powershell Prompt 中使用 cd 命令切换到该根目录下,然后:

#build
python setup.py build_ext
# install
python setup.py develop

5.安装mmdet

继续使用 cd 命令将路径切换到第一步准备的 Swin-Transformer-Object-Detection 工程文件路径下,比如我的就是:

cd E:/
cd Swin-Transformer-Object-Detection

继续键入:

pip install -r requirements.txt
pip install -r requirements/docs.txt
python setup.py develop

6.安装apex

如果训练 swin 的话还需要用到一个叫 apex 的东西,安装步骤同样参考上一篇基于win10复现swin-transformer图像分类源码中的第5步安装。

文字步骤如下,详细见原博客:

       在 github 下载源码https://github.com/NVIDIA/apex 到本地文件夹(安装步骤第一步网盘中也有相关文件资源);
       在命令行中切换到 apex 所在文件夹;
       输入命令: python setup.py install 等待安装完成即可。

7.测试

在 Pycharm 中打开 Swin-Transformer-Object-Detection 工程文件,将提示缺少的一些包给装上(第5步应该装的差不多了),然后新建 demo.py 文件,将以下代码复制进去:

from mmdet.apis import init_detector, inference_detector, show_result_pyplot
import cv2

# configs的路径可以按照这个寻找
config_file = 'E:/Swin-Transformer-Object-Detection/configs/swin/cascade_mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py'

# 这个就是权重文件,也就是第一步环境准备中新建的checkpoints文件夹
checkpoint_file = 'E:/Swin-Transformer-Object-Detection/checkpoints/cascade_mask_rcnn_swin_tiny_patch4_window7.pth'
device = 'cuda:0'
# init a detector
model = init_detector(config_file, checkpoint_file, device=device)
# inference the demo image

# 测试图片在官方工程文件的demo文件夹下
image = 'E:/Swin-Transformer-Object-Detection/demo/demo.jpg'

result = inference_detector(model, image)

show_result_pyplot(model, image, result, score_thr=0.3)

没有问题的话运行结果如下:

Windows10系统下swin-transformer目标检测环境搭建_第2张图片


怎么训练还没有看,工程文件实在是太多太复杂了,一点也不像分类的那样明了,有问题后续再更新!

你可能感兴趣的:(pytorch,深度学习,目标检测,人工智能)