
冷冻工厂
2022/09/15阅读:46主题:科技蓝
mmdet
Swin Transformer 环境搭建
1. 摘要
本文主要对 Swin-Transformer-Object-Detection[1] 进行简要介绍,并考虑到其环境安装对新手而言是一个常见的挑战,因此本文实现了其对应的环境安装。
2. 介绍

Swin Transformer[2]是微软研究院2021年发表在ICCV上的一篇文章,已获得ICCV-2021-best-paper
的荣誉称号。该论文一经发表就已在多项视觉任务中霸榜(如下图)。
3. 环境配置
Swin Transformer官网上的模型是在mmdetection[3]的基础上实现的。mmdetection是商汤科技(2018 COCO 目标检测挑战赛冠军)和香港中文大学开源的一个基于Pytorch实现的深度学习目标检测工具箱。因此想要使用Swin Transformer相关的模型,只需要配置mmdetection环境,在下载模型对应的配置文件即可。
mmdetection的安装,目前主要有以下两个官方网址:
-
https://github.com/open-mmlab/mmdetection/blob/master/docs/en/get_started.md -
https://mmdetection.readthedocs.io/zh_CN/latest/get_started.html#id2(中文)
虽然按照上面官网的要求,一步步安装,可最后还是会出现许多问题,表明官网的步骤需要进行修改,因此下面的配置过程,是小编亲自实现的,经过验证。
首先对小编的配置环境是进行一个说明:
主机系统:ubuntu18.04 显卡:NVIDIA GeForce RTX 3080 Ti 显卡驱动:NVIDIA-SMI 510.60.02 CUDA Version: 11.6 docker 镜像: jupyter/tensorflow-notebook ubuntu-20.04
下面就是小编在docker容器中对mmdetection进行环境配置的全过程。
3.1 pytorch安装

Notes:这里的cudatoolkit-dev 和 pytorch 版本,建议小伙伴们在pytorch[4]官网进行选择(如下图),需要参考自己显卡驱动对应的CUDA版本,最后复制推荐的安装命令即可。(如果环境中没有
nvcc
的小伙伴,建议将cudatoolkit
改为cudatoolkit-dev
,否则后续可能报错)

3.2 mmcv安装

-f 后面的链接,需要根据实际情况进行配置,上方是CUDA=11.3 和 pytorch=1.10 版本下安装的,如果小伙伴的环境有区别可以参照这个网站进行配置(如下图):https://mmcv.readthedocs.io/en/latest/get_started/installation.html#

如果 CUDA=11.5 pytorch=1.11 对应的安装命令如下:

3.3 mmdet安装
-
pip 安装 (与下面的源码编译,二选一即可)

-
源码编译

3.4 apex安装(可选)
Nvidia Apex
是由Nvidia公司维护的一套实用工具包,用于简化Pytorch的下游任务,大部分代码是由Torch底层组成。主要作用是:
-
自动混合精度(Auto Mix Precision)
-
分布式训练(Distributed Training)

4. 环境验证
官网的环境验证代码,不会显示结果,因此下面的代码是小编修改过后的。

-
结果
★获取本文全部代码,公众号后台回复"mmde"即可。
”
参考资料
Swin-Transformer-Object-Detection(Github): https://github.com/SwinTransformer/Swin-Transformer-Object-Detection
[2]Swin Transformer 论文: https://arxiv.org/abs/2103.14030
[3]mmdetection(Github): https://github.com/open-mmlab/mmdetection
[4]Pytorch官网: https://pytorch.org/get-started/locally/
作者介绍

冷冻工厂
欢迎关注同名公众号“冷冻工厂”