Caffe+Visual Studio 2015編譯可以有多簡單?
上一篇文章沒有給出caffe+VS2015的具體步驟,只是給出了一個教程的Github地址。但是由於國內網速的問題,有的人檔案都沒能成功下載,有的由於英文水平所限,編譯起來也是有點麻煩。所以本文做為上一篇的補充。基本上是教程的中文版,只不過不是完全翻譯,用自己的話再說一遍,夾雜一些注意事項。
下載
1. 下載Caffe
caffe只有不到10M。還是下面這個地址:
能夠開啟的就直接在這個網頁上下載Zip即可。由於種種原因不能開啟的,我下載了一個供大家下載:
下載下來的檔案應該叫caffe-windows-ms.zip
。解壓到同名資料夾,裡面除了caffe的檔案之外,還有一個資料夾叫windows
2. 下載third party libraries
配置過caffe的都知道,caffe之所以難配置,就是因為這些第三方庫。
而這個教程之所以簡單,就是因為第三方庫我們只需要下載、解壓就行了!!
下載地址:
這個有100多兆。解壓之後差不多一個G。加壓後大概長下面這樣。
然後把這些資料夾(不是包含所有的整個資料夾)複製到前面所說windows
資料夾下的thirdparty
資料夾中。
修改配置
接下來會根據自己的需求對配置檔案做一些小的改動。也許你已經發現,在windows
資料夾下除了一堆子資料夾之外,還有一個VS工程檔案和配置檔案。
1. 首先把CommonSettings.props.example
複製一份,然後改名為CommonSettings.props
後續所有更改都是在改這個檔案。用notepad++開啟CommonSettings.props
看一下這個檔案裡面是什麼樣。
只看黃框裡的那一部分,也就是我們主要修改的部分。其實就是修改true
和false
而已。符合條件的就改為true
,比我電腦沒有GPU可用,所以CpuOnlyBuild
我改為true
。同時把UseCuDNN
和UseNCCL
改為false
。
2. CUDA
需要的話,從下面的網址下載CUDA Toolkit 8.0
:
如果像我一樣只用CPU,就像上圖那樣改就行了。就是CpuOnlyBuild
true
。同時把UseCuDNN
和UseNCCL
改為false
。預設是true
的。
3. cuDNN
需要的話,從下面的網址下載cuDNN v5
:
然後解壓zip到%CUDA_PATH%(安裝CUDA時設定的環境變數)。或者,隨意解壓到哪個地方,然後在CommonSettings.props
中修改CuDnnPath
到解壓的位置。
4. Python
如果需要,把上面的PythonSupport
設為true
。原文讓下載Miniconda,但是我電腦上已經安裝了Anaconda2和Anaconda3,所以就不需要下載了。下載之後需要安裝下面這幾個庫:
conda install --yes numpy scipy matplotlib scikit-image pip
pip install protobuf
我電腦上早已安裝…
然後再CommonSettings.props
中大概72行的位置,修改路徑如下:
下面的庫和包含檔案的路徑保持不變即可。
提醒:
編譯完之後
- 把
PythonPath
的環境變數設定為<caffe_root>\Build\x64\Release\pycaffe
- 或者,複製資料夾
<caffe_root>\Build\x64\Release\pycaffe\caffe
到<python_root>\lib\site-packages
。- 注意是複製整個資料夾,而不是資料夾下所有檔案。與上面第三方庫相反。
5. Matlab
設定與Python相仿,不贅述。
也有個提醒:
編譯完之後
- 把 生成的
matcaffe
資料夾新增到Matlab的搜尋路徑,- 把
<caffe_root>\Build\x64\Release
新增到系統路徑。
編譯Caffe
上面說起來一大堆,其實修改起來就是分分鐘的事情。修改完之後,用VS2015開啟Caffe.sln
,編譯即可。
也有個提醒:
首先,一定要設定模式模式為release x64。然後,
在工程上右鍵,重新生成解決方案;
或者,選單->生成->重新生成解決方案。
另外
專案
caffe.binding
如果生成失敗,在它的屬性->配置屬性->C/C++->常規中,把將警告視為錯誤改成否
,可以使之生成成功。
最後結果是成功14個,失敗4個。失敗的應該是幾個無關緊要不影響使用的,我猜是caffe.managed,mxnet_caffe_wrapper,test_all之類的。
公眾號CVPy,分享OpenCV和Python的實戰內容。每一篇都會放出完整的程式碼。歡迎關注。