1. 程式人生 > >Caffe+Visual Studio 2015編譯可以有多簡單?

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看一下這個檔案裡面是什麼樣。

這裡寫圖片描述

只看黃框裡的那一部分,也就是我們主要修改的部分。其實就是修改truefalse而已。符合條件的就改為true,比我電腦沒有GPU可用,所以CpuOnlyBuild我改為true。同時把UseCuDNNUseNCCL改為false

這裡寫圖片描述

2. CUDA

需要的話,從下面的網址下載CUDA Toolkit 8.0

如果像我一樣只用CPU,就像上圖那樣改就行了。就是CpuOnlyBuild

改為true。同時把UseCuDNNUseNCCL改為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的實戰內容。每一篇都會放出完整的程式碼。歡迎關注。

公眾號CVPy