Win10 + Python + MXNet + VS2015配置


項目需要使用MTCNN來檢測、對齊、剪切出人臉,它是使用MXNet作為框架的,但是我自己的Ubuntu里各種框架亂成一團,不想再添亂就鐵了心要在windows里配一個。無奈網上的資料不多,掙扎了幾天之后決定留下這么一份文檔。

 

首先我們使用的不是DMLC在github上發布的那一套MXNet,它那個的windows版2016年就不更新了,現在負責維護的地址是這個:

https://github.com/yajiedesign/mxnet/releases

這是一個日更的版本,非常新。巧的是MTCNN也是用新版的MXNet,所以16年版的就不好使了,得靠這個日更的,以下關於這一套產品統稱為【日更版】。

新版的MXNet里有一些參數在vc12編譯出的庫里沒有,所以推薦使用vc14版本,也就是VS2015。

 

在正式講安裝配置步驟之前,先推薦一個軟件叫Dependency Walker,它的作用是理清楚庫文件的依賴關系,有助於后面講依賴庫的版本情況:

這是軟件的使用截圖,注意紅框部分,這里需要我們對文件名有一點敏感:

1、LIBopenBLAS 沒什么特別的,日更版里面自帶了。

2、CUDART64_80、CURAND64_80、CUBLAS64_80、CUFFT64_80、NVRTC64_80 這四個留意后面的數字,這一組文件可以在3rdparty\cudart里找到,如果版本號不一樣,請自行更正,日更版應該自帶。

3、cuDNN64_5 這是需要自己去下載的文件,從文件名可以知道我們需要一個64位的cudnn,版本號大概是5開頭,根據上面的說法我們還需要一個和CUDA8.0配合的cudnn。

4、NVCUDA 這很明顯是NVIDIA的CUDA,不過沒帶版本號先不管它。

5、VCOMP140 這個可以翻3rdparty\vc 里找到,版本號不對請自行修改

6、KERNEL32、USER32 這種大眾臉應該不是什么特別的需求,不管它們

 import過程中出現的 [WinError 126]基本都是因為這個原因。

————————————————————————接下來開始正式講步驟————————————————————————————

1、下載並解壓日更版地址里的vc14 base package

2、下載並解壓日更版地址里的2017xxxx_mxnet_x64_vc14_gpu.7z 到上面base package的目錄里,形成一個完成的結構

2、其中最重要的一個東西便是其他各種教程里說的需要make呀,compile呀的那個 build\libmxnet.dll,也就是上邊dependency walker關注的這個文件,所以預編譯版便是大佬幫我們事先編譯好了這個dll。

3、[WinError 126]出現的原因在於import一個模塊的時候,它的依賴庫需要的依賴庫也必須可以找到,不然就報錯。

4、照上面所說裝好cuda8.0,這個教程很多 也很好裝。

5、准備好cudnn5系列 for cuda8.0

6、關注一下日更版里的文件,先運行根目錄下的setupenv.cmd,這個文件是設置所有的相關環境變量的

建議點開之前先留意一下【用戶變量】里的path,我在使用過程中出現字符過長被截斷的問題,換句話說我之前的用戶變量被破壞掉了一部分,所以請提前做好准備

7、命令行到python目錄,執行

D:\MXNet\python> python setup.py install

8、最后進到 MXNet\3rdparty 里把cudnn的相關文件復制進去就好了,其他的依賴文件應該都在

9、可以進python嘗試import mxnet了。

祝你成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM