[PyTorch] MMDetection在Windows下的配置步驟

1. MMDetection簡介

MMdetection is an open source object detection toolbox based on PyTorch. It is a part of the open-mmlab project developed by Multimedia Laboratory, CUHK. 目前 Github 上只有 linux 版本代碼揖膜,下面內(nèi)容是將代碼移植到windows上的實現(xiàn)步驟沥割。


2. 配置環(huán)境

Windows10 + Cuda9 + PyTorch1.1


3. 所需文件

VC14編譯器敞曹, 百度網(wǎng)盤鏈接:https://pan.baidu.com/s/19ofabAeXW0XRB5XCXFwgDA 提取碼:oll5


4. 配置步驟和出現(xiàn)的問題

(1)安裝好Cuda環(huán)境豁鲤,這里不再贅述。

(2)安裝 VC14 編譯器 visualcppbuildtools_full.exe (上邊有百度云鏈接)眠冈,MMDetection大部分代碼用Python完成溅话,需要用編譯器將.cu文件編譯為.pyd文件。如果你已經(jīng)安裝VS2015或之上的版本专执,可以忽略這步。

(3)在系統(tǒng)變量Path 中添加 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
(4)下載安裝Anaconda3郁油,創(chuàng)建新環(huán)境后本股,安裝cython攀痊,我的新環(huán)境取名為open-mmlab,以下步驟均在激活新環(huán)境下的CMD中執(zhí)行

conda install cython

(5) 下載mmdetection,并進入目錄

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection

(6) 編譯roi_align的cuda拓展

cd mmdet/ops/roi_align
python setup.py build_ext --inplace

這里可能會報錯拄显,關(guān)于Half類型數(shù)據(jù)的運算符重載問題苟径,由于我并不經(jīng)常使用Half類型數(shù)據(jù),這里我直接將出錯文件的6行代碼注釋躬审,簡單粗暴棘街。注釋 anaconda3/your_env_name/titan_copy/lib/site-packages/torch/include\THC\THCNumerics.cuh文件中的第191,192,193,194,195,197行。
(7) 編譯roi_pooling的cuda拓展

cd ../roi_pool
python setup.py build_ext --inplace

(8) 編譯nms的cuda拓展承边,修改mmdetection\mmdet\ops\nms下setup.py文件遭殉,將第一行修改為第二行(第一行中compiler_so屬性為linux下gcc編譯器的屬性,windows下直接清空博助,這樣會默認使用VC14的默認屬性):

# default_compiler_so = self.compiler_so
default_compiler_so = ""

之后執(zhí)行

cd ../nms
python setup.py build_ext --inplace

(9) 編譯dcn的cuda拓展

cd ../dcn
python setup.py build_ext --inplace

(10) 編譯sigmoid_docal的cuda拓展,修改mmdetection\mmdet\ops\sigmoid_focal_loss\src下的sigmoid_focal_loss_cuda.cu文件
1) 將文件中targets.contiguous().data<long>() 替換為 static_cast<long*>(targets.contiguous().data_ptr())
2) 在#include <cfloat>之后添加函數(shù):
int Ceil_div(int a, int b) { return (a + b - 1); }
3) 將文件中兩處dim3 grid(std::min(THCCeilDiv(losses_size, 512L), 4096L)); 替換為dim3 grid(std::min(Ceil_div((int)losses_size, 512), 4096));
之后執(zhí)行

cd ../sigmoid_focal_loss
python setup.py build_ext --inplace

(11) 編譯masked_conv的cuda拓展,修改mmdetection\mmdet\ops\masked_conv\src下的masked_conv2d_kernel.cu文件
將文件中

const long *mask_h_idx_ = mask_h_idx.data<long>();
const long *mask_w_idx_ = mask_w_idx.data<long>();

替換為

const long *mask_h_idx_ = static_cast<long*>(mask_h_idx.data_ptr());
const long *mask_w_idx_ = static_cast<long*>(mask_w_idx.data_ptr());

之后執(zhí)行

cd ../masked_conv
python setup.py build_ext --inplace

(12) 安裝pycocotools

pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

(13) 安裝mmdetection, cd到mmdetection根目錄

python setup.py develop

至此MMDetection在Windows下的配置完成恩沽,希望給希望能在Windows下運行MMDetection的小伙伴一些幫助。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末翔始,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子里伯,更是在濱河造成了極大的恐慌城瞎,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疾瓮,死亡現(xiàn)場離奇詭異脖镀,居然都是意外死亡,警方通過查閱死者的電腦和手機狼电,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門蜒灰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肩碟,你說我怎么就攤上這事强窖。” “怎么了削祈?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵翅溺,是天一觀的道長。 經(jīng)常有香客問我髓抑,道長咙崎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任吨拍,我火速辦了婚禮褪猛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘羹饰。我一直安慰自己伊滋,他們只是感情好碳却,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著新啼,像睡著了一般追城。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上燥撞,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天座柱,我揣著相機與錄音,去河邊找鬼物舒。 笑死色洞,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的冠胯。 我是一名探鬼主播火诸,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼荠察!你這毒婦竟也來了置蜀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤悉盆,失蹤者是張志新(化名)和其女友劉穎盯荤,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體焕盟,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡秋秤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了脚翘。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灼卢。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖来农,靈堂內(nèi)的尸體忽然破棺而出鞋真,到底是詐尸還是另有隱情,我是刑警寧澤沃于,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布灿巧,位于F島的核電站,受9級特大地震影響揽涮,放射性物質(zhì)發(fā)生泄漏抠藕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一蒋困、第九天 我趴在偏房一處隱蔽的房頂上張望盾似。 院中可真熱鬧,春花似錦、人聲如沸零院。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽告抄。三九已至撰茎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間打洼,已是汗流浹背龄糊。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留募疮,地道東北人炫惩。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像阿浓,于是被迫代替她去往敵國和親他嚷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355