1. 程式人生 > >深度學習之Windows下安裝caffe及配置Python和matlab介面

深度學習之Windows下安裝caffe及配置Python和matlab介面

去年下半年看了相關目標檢測的論文,一些傳統的演算法,一些CVPR,TPAMI,ECCV,ICCV,,NIPS,比較前沿的進展,主要都是基於深度學習卷積神經網路方面的,包括RCNN,SPP-NET,Fast-RCNN,Faster-RCNN,以及YOLO,SSD,然後明天準備正式開始搞學術了,爭取早點把論文發出來。

趁著放假回家的時間,做點前期準備工作,深度學習方面的框架有caffe,torch,mxnet,kerse,還有最近比較大熱的TensorFlow,感覺tf會持續popular,所以準備搭建一個玩玩,但是相關比較新的目標檢測框架都是首先基於caffe開發的,caffe對於影象方面的庫比較多,穩定,所以搭建一個caffe也是必不可少,好像tf也是可以呼叫caffe框架模型的(沒用過)。

Win10下安裝caffe的GPU版本之step four:

我是在win10+GTX950m+VS2013,matlab介面我是matlab2016a,Python介面我是pycharm5.0.3

1 . 安裝 Python 環境

這裡我選擇的是 Anaconda2

開啟 Anaconda2 下載地址,選擇Anaconda2-4.1.1-Windows-x86_64.exe

下載完畢後雙擊執行 Anaconda2-4.1.1-Windows-x86_64.exe

可以選擇安裝路徑

2 . 下載 Caffe

開啟 Caffe 下載地址,點選 Clone or download-> Download ZIP

解壓縮,開啟到 caffe-master/caffe-master/windows 資料夾

複製CommonSettings.props.example 檔案,並把複製好的檔案重新命名為CommonSettings.props

用 VS2013 開啟 Caffe.sln 檔案,點選右邊的 CommonSettings.props,檢視你的 cuDNN 支援的版本

3 . 安裝 CUDA 和 cuDNN
開啟 CUDA 下載地址,拉到下方點選 DOWNLOAD

選擇 Windows-x86_64-10-exe,如果你的作業系統是別的版本,請在 Version 裡進行選擇

下載後點擊執行,安裝路徑請選擇預設路徑

開啟 cuDNN 下載地址,點選 Download,下載前需要先註冊

註冊完成後,下載 cuDNN v4 或者 cuDNN v5 (這取決於 CommonSettings.props 檔案裡標註支援的版本,建議選擇 cuDNN v4 Library for Windows,雖然是for CUDA7.0)

4 . 編譯前準備

開啟到 caffe-master/caffe-master/windows 資料夾,用 VS2013 執行 Caffe.sln 檔案

 這裡右邊會顯示libcaffe (載入失敗),解決的步驟:

1) 開啟 CUDA 安裝路徑中的MSbuildExtensions 資料夾,如果你在之前安裝時選的是預設路徑,那麼它應當在 c 盤 / Program File/NVIDIA GPU CpmputingToolkit/CUDA/8.0/extras/visual_studio_integration 裡

2) 拷貝MSbuildExtensions 資料夾中的所有檔案,複製到 C 盤 / Program File(x86)/MSBuild/Microsoft.Cpp/v4.0(這裡取決於你安裝的版本)/V120/BuildCustomizations資料夾下,替換目標中的檔案

3)點選 VS2013 裡右邊的CommonSettings.props 檔案

第七行cpuonlybuild如果true就是cpu版本,false就是gpu版本,gpu版本下面第八行要使用cudnn改為true,cuda的版本改為我們的版本8.0,如圖。

下面的Pythonsupport和matlabsupport就是選擇支援哪些介面,這裡我Python和matlab中都需要用到,兩個都改為true。

第 24 行改為你的 cuDNN 的解壓檔案中 cuda 資料夾的路徑

第 48 行改為 Anaconda2 的安裝資料夾

第53行改為你的matlab的安裝資料夾位置,55行增加$(SolutionDir)..\include\caffe\proto;$(CUDA_PATH)\include不然後面編譯的時候回出現關於gpu的問題

在鍵盤上Control + S儲存,關閉VS2013後重新開啟Caffe.sln檔案,這時libcaffe應當載入成功

5. 編譯 Caffe

開啟 Caffe.sln 檔案,選擇除錯 -> caffe 屬性

單擊配置屬性,上方的配置選為活動(Release),平臺選為活動(x64)

再點選配置屬性,點選 C/C++ ,警告等級 設為 3 ,警告視為錯誤 設為 否,點選 確定

然後點選本地除錯開始編譯,其中會自動下載 NuGet 程式包,此過程可能會翻牆。

當然不過下載出問題,可以直接開啟選項 -> 包管理器 -> 常規 -> 瀏覽,

手動把 NuGet 程式包複製進去,下載地址,密碼 qfui

error LNK1104:無法開啟檔案“libcaffe.lib”

error C2220:警告被視為錯誤-沒有生成“object”檔案

解決方案是對libcaffe單獨重新生成,並且對libcaffe屬性中進行如下修改

這樣應該可以編譯成功,最後再點選生成-生成解決方案應該就可以生成成功了。

6. 測試一下matlab和Python中是否可用caffe

將caffe檔案目錄下的matcaffe加入到matlab的路徑中

caffe-master\caffe-master\Build\x64\Release\matcaffe,點選選單中的設定路徑,以後每次就直接可以在matlab中呼叫caffe庫了。

測試一下,

 

說明caffe的matlab介面以及可以使用。

在pycharm中測試一下,可能會出現No module named google.protobuf.internal,

1)下載protobuf(地址:https://github.com/google/protobuf/releases/tag/v3.0.0),下載兩個版本,一個protoc-3.0.0-win32.zip,一個原始碼,如果GitHub上不了可以下載我的資源。

2)將protoc-3.0.0-win32\bin\protoc.exe 拷貝進入原始碼資料夾下 src中

進入原始碼資料夾下python資料夾,cmd執行 python setup.py build、執行 python setup.py install

 

說明caffe的Python介面也配置成功。

至此caffe在Windows中的GPU版本大功告成。

具體可以參考這兩篇