1. 程式人生 > >windows10+vs2013環境下執行Fast-rcnn(僅CPU)

windows10+vs2013環境下執行Fast-rcnn(僅CPU)

本人的第一篇部落格,內容如果有錯誤的地方,請不吝賜教

        前一段時間在做目標檢測,看到有一篇文章說Fast-rcnn在目標檢測方面做的不錯,於是想在自己的機器上跑一下,在網上搜了許多教程,奈何總是出現莫名奇妙的錯誤,進過一番努力,終於能成功執行。

        首先介紹一下自己的電腦配置情況。本人電腦處理器是AMD A6,顯示卡是HD7670,系統是windows10,這個配置比較尷尬,不能用GPU來進行訓練,而許多教程中都是使用了GPU的,有的教程說是可以不用GPU但是也沒有明確說明怎麼操作,所以決定寫下這篇部落格,希望遇到和我一樣問題的同學可以參考借鑑。畢竟把時間浪費在裝軟體上是不合算的。好了,廢話不多說了,接下來開始重點。

       我下載的是fast-rcnn的python版本的,執行時需要python和caffe。

一、python的安裝

windows下安裝pthon,網上有許多教程,但是我個人強烈推薦安裝Anaconda版本的python(切記,切記),原因是這個版本已經把許多庫都整合進來了,不用你自己再去安裝庫了,畢竟在windows下安裝pyhon的庫有多痛苦,大家只要只要裝過都知道。Anaconda是一個.exe的檔案,安裝時建議裝在預設的路徑(C盤),因為我嘗試安裝在其他盤,但是一直報錯。

Anaconda下載地址:https://www.continuum.io/downloads

我下載的是windows,Python2.7

64位Python2.7的。我建議大家也下64位的,下好後,安裝好,按快捷鍵win+r,輸入cmd,進入windows的命令列,輸入Python,安裝成功應該是這樣的


輸入conda list,檢視已經安裝了哪些包,如下圖所示,基本上常用的包都有,scipy,matplot,numpy等


好了python的安裝就結束了。

二 Caffe的安裝

fast-rcnn中用到了caffe的python 介面,所以要安裝caffe,在windows下安裝caffe,現在有2個版本,一個是微軟自己弄得,一個是caffe官方提供的。我開始用的是微軟提供的那個,但是但是一直無法生成所需的檔案,所以改用第二個了,接下來的安裝 教程也是caffe官方提供的版本。

具體可參考這篇部落格http://blog.csdn.net/buildgood/article/details/51123312

(1)首先下載caffe的程式碼

(2)將3rdparty檔案(bin,include,lib)解壓至caffe-windows_ROOT(假設Caffe原始碼解壓後的資料夾名為caffe-windows_ROOT)中的3rdparty資料夾中,並將3rdparty/bin資料夾所在路徑新增到環境變數中,使程式可以找到這些第三方庫

(3)雙擊.src/caffe/proto/extract_proto.bat批處理檔案來生成caffe.pb.hcaffe.pb.cc兩個c++檔案,和caffe_pb2.py這個Python使用的檔案。

(4)開啟./build_cpu_only/Mainbuilder.sln,點選上方工具欄中的綠色三角編譯。

三 編譯Python介面

(1)在Mainbuilder.sln中選擇pycaffe專案,右鍵選擇屬性修改兩個地方。


(2)把C/C++的附加包含目錄中python預設路徑(預設是D:\Python27)修改為你自己Python所在的路徑。加入你裝的是Anaconda,那麼你的python路徑就是C:\Users\ASUS-PC\Anaconda2\include。具體如下圖所示


我的路徑配置情況


(3)將連結器-常規-附加庫目錄修改為你的路徑。


(4)右鍵選擇pycaffe專案,點選build編譯。編譯成功會在caffe-windows_ROOT\python\caffe中生成_caffe.pyd檔案。


(5)安裝google的protobuf,直接在cmd中使用pip install protobuf安裝,如果報錯的話,將指令改為

pip --default-timeout=100install protobuf。

(6)將這個caffe資料夾複製到D:\Anaconda2\Lib\site-packages中,然後嘗試使用import caffe。如果出現no named moudle easydit,那就安裝easydit,安裝方法如步驟(5)。如果import成功,如下圖所示


四 fast-rcnn的安裝

可參考這篇部落格:http://blog.csdn.net/lien0906/article/details/47007319

(2)下載fast r-cnn所需的模型檔案,提供一個別人的下載地址,http://pan.baidu.com/s/1kTzQYgR下載完成後,請將3個資料夾放置在fast_rcnn_root/data中.

(3)將步驟三中已經編譯過的caffe-windows_ROOT/python目錄,複製到fast_rcnn_root/caffe-fast-rcnn

(4)用文字編輯器開啟fast_rcnn_root/lib/utils/nms.pyx,將第25行的np.int_t修改為np.intp_t

(5)用文字編輯器開啟fast_rcnn_root/lib/setup.py,將第18行和23行的"-Wno-cpp", 

"-Wno-unused-function"指令刪除,只留下空的中括號[]即可

(6)開啟cmd,定位至fast_rcnn_root/lib目錄中,執行python setup.py install。 如果提示Unable to find 

vcvarsall.bat的話,請輸入以下指令: 
若你安裝的是VS2012:SET VS90COMNTOOLS=%VS110COMNTOOLS% 
若你安裝的是VS2013:SET VS90COMNTOOLS=%VS120COMNTOOLS%

setup.py安裝完成後,到python_root/Lib/site-packages/utils中可以找到兩個檔案cython_bbox.pyd

cython_nms.pyd,把這兩個檔案複製到fast_rcnn_root/lib/utils中。

(7)這也是最重要的一步,將fast_rcnn_root/tools/中的demo.py開啟,將圖中圈紅圈的註釋掉,否則會報務GPU的


然後,如果你的電腦配置不高,執行時會卡死,那麼將程式修改為下圖紅色圈中所示


關於程式的解釋,參考:http://blog.csdn.net/xzzppp/article/details/52073107

(8)定位至fast_rcnn_root,執行python tools/demo.py,等待結果



參考資料: