Windows+VS2015编译caffe+py-faster-rcnn
一、前期環境以及準備
1、安裝python
在caffe中,python2和python3的接口都有。但frcnn中只能支持python2.7,所以千萬不要裝成python3。為了方便,不用自己去pip一大堆庫,我建議安裝anaconda2,里面已經安裝了很多第三方的庫。
另附python,Windows的第三方庫 http://www.lfd.uci.edu/~gohlke/pythonlibs/,里面很全。或許有一些庫你要去官網上下載。
2、安裝(更新)顯卡驅動和cuda
NVIDIA的顯卡驅動安裝應該不用我說了吧,到官網上下載吧。我要說明一點的是,我的1080ti在安裝顯卡驅動時,說和Windows不匹配。怎么解決呢?更新Windows,到官網上下驅動,再安裝。成功!還有就是記得更新你的顯卡驅動,以防老的驅動不支持cuda。
CUDA安裝的話,也是傻瓜試的安裝。提醒一點的是,不要改變他的安裝路徑,默認路徑。然后去NVIDIA的官網上下載cudnn庫,這個庫的話需要去NVIDIA注冊一個賬號,然后問你用這個來完成什么工作之類的巴拉巴拉。這個庫長什么樣呢?下載完解壓縮,得到一個cuda的文件夾,里面有3個文件夾
然后打開你的CUDA文件夾,默認路徑是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
把cudnn庫里面的3個文件夾里面的文件,分別加到cuda里面對應的文件夾。
然后打開cuda需要編譯的部分,默認路徑是C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
因為我用的VS2015,那么我就用打開2015的那個,然后改成release運行。
至此,顯卡計算的環境就搭建完成了。
3、cmake和git
cmake的話,我建議直接下載編譯好的能運行的文件(到官網上下載)https://cmake.org/download/,然后解壓文件,把bin的路徑添加到Path中。
git:因為frcnn里面有很多linux的腳本,你可以不用,但用的話會很方便的。所以我建議安裝git。同樣,傻瓜式的安裝,直接到官網上下載。
二、py-faster-rcnn
1、編譯caffe的python接口GPU版本(如果你編譯過了就不用了)
因為frcnn的編譯過程用需要用到python的caffe包,所以必須要先編譯一次caffe。如果你已經編譯過caffe的py接口就不用了。
下載微軟的Caffe,git的地址https://github.com/BVLC/caffe/tree/windows
你可以用git直接下載,或者在git的地址里下載,隨便你。
[plain] view plaincopy
打開caffe\scripts,然后編輯build_win.cmd文件
第7行的VERSION是你VS的版本,VS2015對應的是14,VS2013對應的應該是12;第8行改為0;第9行改為0(如果你不用GPU,那就還是1);13行的python_version是你的python版本,2.x就是2,3.x就是3;24,28行是你的python的安裝目錄,如果你是anaconda就改你的anaconda的目錄,否則就不改。
同樣69-95行同樣修改。以上2張圖是我的cmake文件配置。
進入caffe\scripts,打開cmd,直接執行build_win.cmd。注意他會自動下載需要的庫,因為服務器呢都不在國內,所以我建議掛個VPN,不然你且等呢吧。
這樣cmake后呢,python的接口就已經編譯好了,不用再編譯一遍了。把caffe\python下的caffe的文件夾copy到python的第三方包的文件夾就ok。
這樣caffe的python接口就好了,你可以進cmd的python試一下import caffe。如果說,他提示少了什么包,你直接pip這個包就好了,找不到的話,百度一下就有。但只要你跟著上面我的方法做應該不會出現什么問題。
2、編譯py-faster-rcnn依賴庫
首先呢,我們先去編譯一下frcnn的依賴庫。Windows下,不能使用自帶的lib,把自帶的lib刪了,重新下載,這里給出git的地址https://github.com/MrGF/py-faster-rcnn-windows。
好了,現在你的庫應該長成這樣,有setup.py和setup_cuda.py。進cmd,install這2個文件。
現在你肯定會遇到問題,提示你VC版本不對
怎么辦呢,先set一下:輸入SET VS90COMNTOOLS=%VS140COMNTOOLS%,VS后面的數字就是你的版本。還有不要忘了把你VS的c1.exe加到path下。
編譯好frcnn的依賴庫后,應該是這個樣子的。
3、給caffe加frcnn的層
現在,我們再下載一個caffe,跟前面一樣,把build_win.cmd進行修改。然后我們就可以把frcnn的一些特有的層加到caffe里編譯了。
1)添加層和文件
???? 打開py-faster-rcnn\caffe-fast-rcnn\src\caffe\layers文件夾,找到4個文件分別為
?? 然后copy到你新的caffe的對應文件夾caffe\src\caffe\layers里。
?? 接著我們添加頭文件,打開py-faster-rcnn\caffe-fast-rcnn\include\caffe,把fast_rcnn_layers.hpp這文件copy到caffe的對應文件夾下caffe\include\caffe。
2)配置2個新層
??? 打開你的caffe\src\caffe\proto下的caffe.proto,進行編輯。
在407行左右
往原來的文件里添加新的層的配置信息
[plain] view plaincopy
??? 就是再執行一遍build_win.cmd就行。編譯好之后,把caffe根目錄下的python文件夾替換py-faster-rcnn\caffe-fast-rcnn的python文件夾。
三、demo
完成以上步驟你的py-faster-rcnn就已經編譯成功了。如果你想用demo測試一下的話可以用.\data\scripts里的腳本去下載已經訓練好的model,文件挺大的、速度挺慢的。所以給大家提供一個百度云https://pan.baidu.com/s/1nuAOmG5,把caffemodel文件放在data\faster_rcnn_models,然后執行tools\demo.py就能看到結果了
總結
以上是生活随笔為你收集整理的Windows+VS2015编译caffe+py-faster-rcnn的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下训练FCN模型所遇到的问
- 下一篇: py-faster-rcnn在Windo