Swin Transformer 環(huán)境搭建
1. 摘要
本文主要對 Swin-Transformer-Object-Detection 進行簡要介紹谣膳,并考慮到其環(huán)境安裝對新手而言是一個常見的挑戰(zhàn)辽幌,因此本文實現(xiàn)了其對應(yīng)的環(huán)境安裝觉吭。
2. 介紹
Swin Transformer是微軟研究院2021年發(fā)表在ICCV上的一篇文章,已獲得ICCV-2021-best-paper
的榮譽稱號疫剃。該論文一經(jīng)發(fā)表就已在多項視覺任務(wù)中霸榜(如下圖)蛙吏。
3. 環(huán)境配置
Swin Transformer官網(wǎng)上的模型是在mmdetection的基礎(chǔ)上實現(xiàn)的洲赵。mmdetection是商湯科技(2018 COCO 目標檢測挑戰(zhàn)賽冠軍)和香港中文大學開源的一個基于Pytorch實現(xiàn)的深度學習目標檢測工具箱。因此想要使用Swin Transformer相關(guān)的模型识腿,只需要配置mmdetection環(huán)境出革,在下載模型對應(yīng)的配置文件即可。
mmdetection的安裝渡讼,目前主要有以下兩個官方網(wǎng)址:
- https://github.com/open-mmlab/mmdetection/blob/master/docs/en/get_started.md
- https://mmdetection.readthedocs.io/zh_CN/latest/get_started.html#id2(中文)
雖然按照上面官網(wǎng)的要求骂束,一步步安裝耳璧,可最后還是會出現(xiàn)許多問題,表明官網(wǎng)的步驟需要進行修改展箱,因此下面的配置過程旨枯,是小編親自實現(xiàn)的,經(jīng)過驗證析藕。
首先對小編的配置環(huán)境是進行一個說明:
- 主機系統(tǒng):ubuntu18.04
- 顯卡:NVIDIA GeForce RTX 3080 Ti
- 顯卡驅(qū)動:NVIDIA-SMI 510.60.02
- CUDA Version: 11.6
- docker 鏡像: jupyter/tensorflow-notebook ubuntu-20.04
下面就是小編在docker容器中對mmdetection進行環(huán)境配置的全過程召廷。
3.1 pytorch安裝
Notes:這里的cudatoolkit-dev 和 pytorch 版本,建議小伙伴們在pytorch官網(wǎng)進行選擇(如下圖)账胧,需要參考自己顯卡驅(qū)動對應(yīng)的CUDA版本竞慢,最后復(fù)制推薦的安裝命令即可。(如果環(huán)境中沒有
nvcc
的小伙伴治泥,建議將cudatoolkit
改為cudatoolkit-dev
筹煮,否則后續(xù)可能報錯)
3.2 mmcv安裝
-f 后面的鏈接,需要根據(jù)實際情況進行配置居夹,上方是CUDA=11.3 和 pytorch=1.10 版本下安裝的败潦,如果小伙伴的環(huán)境有區(qū)別可以參照這個網(wǎng)站進行配置(如下圖):https://mmcv.readthedocs.io/en/latest/get_started/installation.html#
如果 CUDA=11.5 pytorch=1.11 對應(yīng)的安裝命令如下:
3.3 mmdet安裝
- pip 安裝 (與下面的源碼編譯,二選一即可)
- 源碼編譯
3.4 apex安裝(可選)
Nvidia Apex
是由Nvidia公司維護的一套實用工具包准脂,用于簡化Pytorch的下游任務(wù)劫扒,大部分代碼是由Torch底層組成。主要作用是:
自動混合精度(Auto Mix Precision)
分布式訓練(Distributed Training)
4. 環(huán)境驗證
官網(wǎng)的環(huán)境驗證代碼狸膏,不會顯示結(jié)果沟饥,因此下面的代碼是小編修改過后的。
-
結(jié)果
結(jié)果
獲取本文全部代碼湾戳,公眾號后臺回復(fù)"mmde"即可贤旷。
本文由mdnice多平臺發(fā)布