一、mmdetection簡介
項目地址:https://github.com/open-mmlab/mmdetection
香港中文大學-商湯科技聯合實驗室開源了基於 PyTorch 的檢測庫——mmdetection。商湯科技和港中大組成的團隊在 2018年的COCO 比賽的物體檢測(Detection)項目中奪得冠軍,而 mmdetection 正是基於 COCO 比賽時的 codebase 重構。這個開源庫提供了已公開發表的多種視覺檢測核心模塊。通過這些模塊的組合,可以迅速搭建出各種著名的檢測框架,比如 Faster RCNN,Mask RCNN,R-FCN,RetinaNet , Cascade R-CNN及ssd 等,以及各種新型框架,從而大大加快檢測技術研究的效率。遺憾的是現在還沒有出yolo網絡。相比 FAIR 此前開源的 Detectron,mmdetection 有以下幾大優勢:
1、Performance 稍高 2、訓練速度稍快 3、所需顯存稍小 4、易用性更好
二、正式安裝mmdetection
(1)使用命令行進行虛擬環境安裝:
conda create -n mmdetection python=3.7conda 是anaconda安裝的常規命令,mmdetection是我們所起的虛擬環境名稱,虛擬環境可以理解為與anaconda自身環境類似的一個環境,就是可以將所需要的安裝包下載在其中。
安裝後即可激活環境,命令為:
source activate mmdetection(2)安裝pytorch和torchvision
為何要先安裝pytorch和torchvision?因為在mmdetection中,存在著版本的差異,如果在確定安裝pytorch的情況下可以調用gpu,很可能在安裝了mmdetection後不能進行gpu的調用,運行時十分慢,可能跑幾天都不一定能將模型跑出來。
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch最好不要用後綴
因為此為默認將下載源設置為pytorch官方下載地址,未調用anaconda的國內源進行下載,就會很慢。安裝下載成功後進行pytorch的gpu版本進行測試如下:
import torchprint(torch.cuda.is_available())
(3)安裝mmdetection
在安裝mmdetection時需要安裝mmcv,安裝mmcv和mmdetection順序上沒有什麼區別,如果先安裝mmdetection時會報錯「未安裝mmcv」,但是可以不用管它進行安裝,因為安裝mmcv經常報錯。
進行克隆,同時可以進行網站直接下載。
git clone https://github.com/open-mmlab/mmdetection.gitcd mmdetectionpip install -r requirements/build.txtpip install -v -e .第一行為mmdetection所需依賴進行安裝。
因為mmdetection項目內含有很多的C/C++代碼,需要進行編譯。第二行為編譯命令,注意,末尾有一「.」。
至此,mmdetection已經安裝好,可以進行mmcv的安裝。
(4)安裝mmcv
pip install mmcv-full==1.2.4 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html單純以上代碼會很慢,單純mmcv快,但是安裝mmcv時,會順帶安裝opencv,opencv需要和torch、cuda版本對應,否則無法調用cuda加速。使用torch1.7.0即可,使用torch1.7.1會報錯。
pip install mmcv-full==1.2.4 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.1/index.html -i https://mirrors.aliyun.com/pypi/simple/同時,在後面加上阿里源,即可在安裝opencv時進行國內源安裝,切記,不可直接
一定會報錯,安裝到此結束。
三、測試mmdetection
進入mmdetection項目進行命令行測試,命令行運行以下文件即可。mmdet/utils/collect_env.py
結果如上圖即為mmdetection安裝成功!
毛主席語錄:星星之火,可以燎原。