圖文講解caffe配置(Windows官方版本+win7+VS2013)
終于搞定caffe了,但不得不說,過程很煩,很痛苦,在我看來,計算機或計算機專業(yè)真得是不要太蠢,沒有一個統一性,不能解放相關科研人員或程序員,反而要生生耗費過度的時間和精力,不能使其專注于想做和該做的事情中。吐槽完了,接下來,是配置步驟:
Prerequisites or Requirements:
MATLAB+VS2013+Python。Matlab最好安裝2014及以上版本。官方配置步驟中要用到NuGet Pack Maneger這個工具,這個工具主要是用來自動獲取并安裝項目所需要的第三方依賴庫的,可在VS2013工具欄下的拓展和更新中搜索安裝,具體可百度,這里非本文重點,不做細說。
對于Python,推薦安裝Anaconda,其已經自帶了很多工具包,不需要再去安裝了(Theano還是要裝的),簡單方便,所以首選,最好Python2.7的。需要說一下的是Anaconda自帶的那個Spyder IDE真得是不要太蠢,為了模仿MATLAB,但山寨得是在太渣,調試功能非常不方便,還有各種蛋疼,總之,用過了就知道,比MATLAB差十萬八千里。所以對于IDE,還是裝PyCharm吧,PyCharm也是可以用得上Anaconda自帶的工具包的??傊?,一切本著簡單方便的原則。
Setup: <wbr> <wbr>此版本為微軟官方的caffe,下載地址,https://github.com/microsoft/caffe。
首先是配置CommonSettings.props文件,具體配置方法也可見readme.txt或上述鏈接。如下是我的配置截圖:
如果電腦有帶GTX顯卡或支持GPU的,可將CpuOnlyBuild設為FALSE,如果沒有就設為TRUE。至于CuDNN,由于本人非計算機專業(yè),沒用過這個,所以建議不懂的一般就設為FALSE好了,免得后面出什么狀況。
如果要用到,把下載的壓縮包解壓到CUDA的安裝路徑中(我CUDA裝的是8.0de),參見下圖。
然后是MATLAB和python的配置,見截圖,這些都是比較簡單的。
記得,build的時候一律選擇release和x64的(這句要寫在前面)。然后單獨編譯MATLAB和Python的項目,即matcaffe和pycaffe,期間可能會產生錯誤。Matcaffe中會提示沒有 "gpu/mxGPUArray.h",找到錯誤定位,將其改為絕對路徑,我這里是
include 。
有些可能還會有其他問題,暫時先不管,接下來編譯libcaffe項目,如果都沒有問題,那么恭喜你,最后直接右鍵編譯整個解決方案就好了。
但有些會存在問題,我的就存在了關于opencv 2.4.10 overlay,targets啥啥啥的問題,真是蛋疼,反正是搞了一通,最后也不知道怎么搞好的。大概設置過如下地方:
然后重新編譯libcaffe,如果還是有錯誤。哈哈,恭喜你,拼運氣的時候到了,先編譯整個解決方案(有錯誤先不管),之后再來編譯libcaffe。如果還是有問題,那你就只能根據具體問題來百度了。
在編譯好libcaffe之后,接下來就可以編譯整個解決方案了。如果沒有問題,caffe就編譯好了。根據官方的步驟,如果要使用matlab和python的接口,如下設置。
MATLAB:
- 將生成的matcaffe文件夾加入到matlab搜索路徑中,如圖示。
- <wbr>將編譯得到的release文件夾加入到環(huán)境變量中,我這里是
G:\caffe\caffe-windows\Build\x64\Release,如圖示。
Python:
方法有兩個,一是環(huán)境變量中新建名為PythonPath,值為
G:\caffe\caffe-master-MS\Build\x64\Release\pycaffe,如圖示。
二是直接將
G:\caffe\caffe-master-MS\Build\x64\Release\pycaffe文件夾下的caffe文件夾復制到python的site-packge目錄中,如圖示。
兩種方法,我都做了。
最后,重啟電腦,就可以使用caffe及其matlab和python的接口了。
以matlab為例,使用matlab\demo\classification_demo.m進行測試。需要注意的是不要在該文件夾下運行classification_demo.m,要將其復制到其他目錄下(否則會出現錯誤,單步調試發(fā)現matlab會在scores = net.forward(input_data)一行崩潰,所以,不要問為什么,只要照著這里的步驟做就是),這里以即根目錄為例。將classification_demo.m復制到根目錄之后,需要修改里面的文件路徑,具體修改地方以及運行結果就不貼圖了,可另下載代碼。
如下為一示例代碼的結果。
所需要的代碼及文件,下載鏈接, <wbr>http://download.csdn.net/detail/micklexqg/9687949,以及本文教程地址,http://download.csdn.net/detail/micklexqg/9687974 。
其中所需的參考model,參見models\bvlc_reference_caffenet下的readme,
http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel