本篇文章主講這篇博客中的(http://blog.csdn.net/sinat_30071459/article/details/50546891)的這個部分,如圖所示
注:截圖來自 小咸魚_ 的博客。
也就是說本文重點教你如何去編譯你自己需要的mex文件。
1.准備工作
首先先提醒一下,假如你的顯卡的顯存還不夠3G,那么快去換設備吧,不然好不容易搭好了環境發現實驗跑不了豈不是很坑??
話說我之前也是不會自己編譯,也是從網上各種找別人編譯好的external文件,然后按照別人的軟件環境,再從自己的電腦上裝相應的環境,簡直煩!於是終於決定自己學一學怎么去自己編譯需要的external文件,好了,廢話不多說,讓我們進入正題。
1)所需軟件
我先說明一下我用到的軟件:
(1)VS2013(update5版本的,不是的話自己去升級,升級的方法戳這里)
(2)MATLAB2014b(你可以裝其他版本的,這個你隨意)
(3)CUDA6.5(你同樣可以裝其他你需要的版本)
(4)openCV 2.4.9(沒有的話戳這里,提取密碼: c6b2)
(5)boost_1_57_0(沒有的話還是戳這里,提取密碼:fiy7)
(6)MKL(還是戳這里,提取密碼:pwi7)
上面的安裝順序最好不要亂,否則可能出現Matlab找不到vs的情況,在Matlab命令行窗口輸入:mbuild -setup,如果出現:
說明 Matlab可以找到 vs2013。 CUDA應在安裝 vs2013后再安裝。
2)下載需要的代碼文件夾
安裝完畢后我們需要下載caffe_library和caffe-faster-R-CNN這兩個文件夾(需要的話戳這里,提取密碼: nbsn),這個不用我多說。將caffe-faster-R-CNN里面的文件全部拷貝到.\caffe_library\caffe中去。
2.開始編譯
1)假如你用到的CUDA不是6.5的話,需要進行這一步。是的6.5的話可以直接跳過!
用記事本打開./caffe_library/caffe/windows/caffe/caffe.vcxproj下面的 caffe.vcxproj文件,如圖:
修改里面的CUDA版本號為自己所使用的CUDA版本號!一共有兩處要改。例如你用的是CUDA8.0,那么你 就把6.5改成8.0就行了。
2)用VS2013打開.\caffe_library下的caffe.sln
3)更改VC++目錄中包含目錄和庫目錄的路徑,按照自己的路徑修改。
在這里提一下,我們在安裝MKL的時候好像並沒有提供安裝路徑的選擇,所以有的人可能找不到mkl的路徑,別着急,你可以參考一下我的路徑,應該能幫助你找到你的
你說什么?你不知道怎么去修改?? 自己百度去吧。。。
4)為caffe添加maltlab需要的文件。屬性->C/C++->常規->附加包含目錄。添加/你的MATLAB路徑/extern/include 和 /你的MATLAB路徑/toolbox/distcomp/gpu/extern/include
5)設置caffe為啟動項目
6)重新生成caffe解決方案
經過漫長的等待,如果一切順利的話最后應該是成功生成兩個。
3.制作external文件
說是“制作”,其實就是:
1)將.\caffe_library\x64\Release_Mex中所有的文件拷貝到 :.\faster_rcnn- master\external\caffe\matlab\caffe_faster_rcnn 中去。(目錄中沒有的文件夾自己創建)
2)然后再將.\caffe-faster-R-CNN\matlab 里面的 +caffe文件夾同樣拷貝到.\faster_rcnn- master\external\caffe\matlab\caffe_faster_rcnn 中去。
最后就是這種效果:
到這里,我們所需要的external文件夾就制作完成了!
4.測試external文件是否可用
在MATLAB中運行faster_rcnn_build.m腳本,這里記得修改.\faster_rcnn-master\functions\nms下的
nvmex.m文件中的第八行
修改為你自己的VS安裝路徑即可,其他地方不用動!
最后我們運行faster_rcnn_build.m,運行結果如下:
如果你也是這樣的話,那么就沒什么問題了!我編譯好的external文件戳這里(提取密碼:9ddu)下載~~~~~
這里說明一下,據本人親測,編譯external文件和windows版本應該沒什么關系(至少win7和win10通用,本人親測!),也就是說同樣的軟件環境下 win7下編譯的external文件挪到win10上一樣能用,只要你的軟件環境相同就行!
好了,我要講的部分已經結束。接下來你就繼續按照小咸魚的博客,一步一步的做下去就行了,祝你成功,GOOD LUCK!!!