Windows下VS2013 C++编译测试faster-rcnn
【原創(chuàng)帖!轉(zhuǎn)載請注明出處:http://www.cnblogs.com/LaplaceAkuir/p/6445189.html】
?????? 本人最近研究faster-rcnn,在ubuntu成功跑通matlab版本和python版本,但是由于項目開發(fā)需要,則要在windows上進(jìn)行c++版本的faster-rcnn應(yīng)用,于是參照著http://blog.csdn.net/oYangZi12/article/details/53290426?locationNum=2&fps=1提供的代碼,以及Matlab版本faster-rcnn的代碼過程,自己整理了C++版本的faster-rcnn,當(dāng)然只能進(jìn)行測試,并且model必須是matlab的,過段時間會嘗試整理讀取py-faster-rcnn模型的c++版本代碼。
?
一:安裝環(huán)境:
1、windows10,
2、Visual Studio 2013
3、cuda7.5和cudnn5.1
3、Caffe版本:https://github.com/Microsoft/caffe
?
二:caffe安裝
將caffe-master/windows/CommonSettings.props.example復(fù)制一份就做caffe-master/windows/CommonSettings.prop,用文本編輯器notepad++(Visual stadio 打開也可以)對其進(jìn)行配置。需要注意的是CPU還是使用GPU,以及是否編譯matlab和python的接口。我的配置如下:
本人安裝了Anaconda windowsX64 2.7版本來配置python,安裝Anaconda2后需要下載必要的python庫
cmd下運行
1 conda install --yes numpy scipy matplotlib scikit-image pip 2 pip install protobuf上圖第二個箭頭處,由于本人matlab版本為2016a,在編譯微軟的caffe版本時遇到了"gpu/mxGPUArray.h" Not Found問題,因此需要在IncludePath處添加上述路徑。
打開caffe-master/windows/caffe.sln,項目選擇released模式,修改libcaffe的C++常規(guī)設(shè)置,將警告視為錯誤選擇否,如果需要使用faster-rcnn,請先看第三步faster-rcnn配置的編譯步驟,以免重復(fù)編譯,如不需要,則直接開始生成解決方案,會出現(xiàn)Nuget還原管理界面,結(jié)束后會在caffe-master的同級目錄下生成一個NugetPackages的目錄,裝的是各種依賴庫。結(jié)果如下圖
編譯時間很長,耐心等待后沒有出現(xiàn)問題就表明編譯成了。
?
三:faster-rcnn配置
??? 1、重新編譯caffe?
由于faster-rcnn中使用了roi-pooling-layer層,而微軟版本編譯時并未添加roi_pooling_layer,所以我們需要將頭文件,cu文件和cpp文件手動加入到libcaffe中,為防止出現(xiàn)其他問題。本人將caffe-master/include/caffe下的所有頭文件加入到libcaffe項目的頭文件中,caffe-master/src/caffe的cpp和cu文件加入到libcaffe的源文件和cu文件中。
添加完成后,再次重新編譯整個項目。編譯成功后,整個caffe就編譯完成了。
2、新建faster-rcnn-test項目
在caffe-master/windows/下新建項目。
本人整理好的第三方依賴項faster_3rdparty,鏈接:http://pan.baidu.com/s/1qYttnsS?密碼:d0ud,將其解壓到caffe-master/目錄下。
c++包含目錄:../../include; ../../faster_3rdparty/include C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/include(本人cuda安裝目錄)
庫鏈接目錄:../../Build/x64/Release;../../faster_3rdparty/lib;C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64;
???? 附加依賴項項:opencv_calib3d2410.lib;opencv_contrib2410.lib;opencv_core2410.lib;opencv_features2d2410.lib;opencv_flann2410.lib;opencv_gpu2410.lib;opencv_highgui2410.lib;
opencv_imgproc2410.lib;opencv_legacy2410.lib;opencv_ml2410.lib;opencv_objdetect2410.lib;opencv_ts2410.lib;opencv_video2410.lib;caffe.lib;libcaffe.lib;cudart.lib;cublas.lib;
curand.lib;gflags.lib;libglog.lib;libopenblas.dll.a;libprotobuf.lib;leveldb.lib;lmdb.lib;hdf5.lib;hdf5_hl.lib
將faster_3rdparty/bin目錄添加到系統(tǒng)環(huán)境變量中。
添加本人上傳的faster-rcnn c++代碼,鏈接https://github.com/zhanglaplace/Faster_rcnn_Cplusplus_vs2013,代碼結(jié)合Matlab版本的faster-rcnn以及參考http://blog.csdn.net/oYangZi12/article/details/53290426?locationNum=5&fps=1提供的代碼。下載model,model文件可以從網(wǎng)盤下載,網(wǎng)盤鏈接:http://pan.baidu.com/s/1dF88JvV?,設(shè)置新建項目為啟動項目,且只編譯該項目。
運行結(jié)果如下:
?
PS:如果編譯成功的話,不要忘了給我的github工程點個star!
總結(jié)
以上是生活随笔為你收集整理的Windows下VS2013 C++编译测试faster-rcnn的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Faster RCNN算法详解
- 下一篇: s3c2440移植MQTT