Caffe-Windows環境搭建(GPU版)
環境:win10, CUDA 8.0, CuDNN 5.0
版本:Caffe-Microsoft + VS2013
1.準備工作
(1)安裝環境
擁有一張支援CUDA的Nvida顯示卡。
安裝VS2013。
從Nvida官網下載CUDA 8.0,通過安裝包完成安裝。
再從Nvida官網下載CuDNN 5.0,應該需要先註冊一個賬號。將下載的3個資料夾複製到CUDA_PATH之下(在CUDA安裝完成後因該會自動寫入環境變數)。一般CUDA的預設安裝路徑如下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
穩妥起見測試一下CuDNN的安裝情況,這裡直接搬運一個簡單的方法:
新增新專案——NVIDA——CUDA 8.0,VS2013將能夠生成一個預設的CUDA專案,如能成功執行意味著CUDA安裝成功。
將kernel.cu中的程式碼全部替換成:
#include <iostream>
#include <cuda_runtime.h>
#include <cudnn.h>
using namespace std;
void main(){
cudnnHandle_t handle;
cudnnStatus_t t = cudnnCreate(&handle);
cout << cudnnGetErrorString(t);
getchar();
}
執行之,如能顯示CUDNN_STATUS_SUCCESS則說明CuDNN安裝正常。
(2)設定程式碼環境
從Github下載Microsoft/Caffe,可以通過下載.zip或直接git clone。
將caffe/windows路徑下的CommonSettings.props.example重新命名為CommonSettings.props,開啟。
修改該配置檔案下的CUDA版本和顯示卡的計算能力(從官網找到自己型號的顯示卡並進行查詢),比如我的顯示卡計算能力為3.0就寫為30,務必正確設定。
注:在配置檔案的時候,PythonSupport、MatlabSupport專案預設是false,也就是說如想使用Caffe的Python介面,需要將其設為true。
開啟caffe/windows路徑下的Caffe.sln。
右鍵解決方案Caffe,點選“啟用NuGet程式包還原”。
選中Caffe解決方案下的所有專案(共16個),右鍵點選“屬性”,配置屬性——C/C++——常規,把“將警告視為錯誤”選項設為“否”。此舉是為了規避程式碼中英文環境衝突的一些問題。
將“解決方案配置”改為Release x64(推薦)。事實上Debug x64也可以使用。
2.編譯
找到libcaffe專案,右鍵選擇“重新生成”。
此時VS2013將自動開始下載Caffe的各種依賴包,包括OpenCV,Protobuf等等。Nuget的好處在於自動管理依賴包不需要自己手動一個個下載一個個配環境測試安裝正常(想想就頭大),缺點在於下載速度要看你的網路了。各依賴項位於caffe同級的NugetPackages資料夾下,最穩妥的方式就是等VS自己下載完成。
如果libcaffe編譯成功,接下來直接生成解決方案Caffe即可,生成成功則大功告成。
如果libcaffe編譯失敗,或者解決方案Caffe編譯過程中報錯,說明你並沒有透支今年的人品T_T。這篇文章給出了編譯過程中我曾遇到過的各種錯誤及解決方法,基本涵蓋了將會出現的錯誤。Caffe鑑於依賴項較多(從NuGet裡能看到),在編譯過程中出點錯誤似乎並不令人驚訝=。=