Swin Transformer 环境搭建
1. 摘要
本文主要对 Swin-Transformer-Object-Detection 进行简要介绍,并考虑到其环境安装对新手而言是一个常见的挑战,因此本文实现了其对应的环境安装。
2. 介绍
Swin Transformer是微软研究院2021年发表在ICCV上的一篇文章,已获得ICCV-2021-best-paper
的荣誉称号。该论文一经发表就已在多项视觉任务中霸榜(如下图)。
3. 环境配置
Swin Transformer官网上的模型是在mmdetection的基础上实现的。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官网进行选择(如下图),需要参考自己显卡驱动对应的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"即可。
本文由mdnice多平台发布