本文主要对 Swin-Transformer-Object-Detection[1] 进行简要介绍,并考虑到其环境安装对新手而言是一个常见的挑战,因此本文实现了其对应的环境安装。
Swin Transformer
Swin Transformer[2]是微软研究院2021年发表在ICCV上的一篇文章,已获得ICCV-2021-best-paper
的荣誉称号。该论文一经发表就已在多项视觉任务中霸榜(如下图)。
Swin Transformer官网上的模型是在mmdetection[3]的基础上实现的。mmdetection是商汤科技(2018 COCO 目标检测挑战赛冠军)和香港中文大学开源的一个基于Pytorch实现的深度学习目标检测工具箱。因此想要使用Swin Transformer相关的模型,只需要配置mmdetection环境,在下载模型对应的配置文件即可。
mmdetection的安装,目前主要有以下两个官方网址:
虽然按照上面官网的要求,一步步安装,可最后还是会出现许多问题,表明官网的步骤需要进行修改,因此下面的配置过程,是小编亲自实现的,经过验证。
首先对小编的配置环境是进行一个说明:
下面就是小编在docker容器中对mmdetection进行环境配置的全过程。
pytorch安装
Notes:这里的cudatoolkit-dev 和 pytorch 版本,建议小伙伴们在pytorch[4]官网进行选择(如下图),需要参考自己显卡驱动对应的CUDA版本,最后复制推荐的安装命令即可。(如果环境中没有
nvcc
的小伙伴,建议将cudatoolkit
改为cudatoolkit-dev
,否则后续可能报错)
pytorch 版本
mmcv安装
-f 后面的链接,需要根据实际情况进行配置,上方是CUDA=11.3 和 pytorch=1.10 版本下安装的,如果小伙伴的环境有区别可以参照这个网站进行配置(如下图):https://mmcv.readthedocs.io/en/latest/get_started/installation.html#
如果 CUDA=11.5 pytorch=1.11 对应的安装命令如下:
pip 安装
源码编译
Nvidia Apex
是由Nvidia公司维护的一套实用工具包,用于简化Pytorch的下游任务,大部分代码是由Torch底层组成。主要作用是:
apex安装
官网的环境验证代码,不会显示结果,因此下面的代码是小编修改过后的。
环境验证
[1]
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/