Windows10+CUDA8.0+VS2015+CUDNN5下配置caffe
前言
在參照了網上的部落格和官方給的說明後我終於配置好了我的caffe,比較坑爹的是我一開始是直接按照部落格給的方法配置的,總是出問題。待我靜下心來去看官方的文件發現文件是有調整的,所以按部就班地按別人的思路是配置不好的。另外由於它配置的命令build_win.cmd命令是有可能會修改的,如果大家發現我說的和他給的build_win.cmd不一樣,還需要多加留心。
1.下載所需要的檔案
我所用的caffe地址,裡面的官方說明。
必須需要的環境是:
根據官方的說明,需要VS2015或2013(Ninja 也可以)。
cmake需要3.4版本以上的。
可供選擇的是:
Anaconda Python2.7 or 3.5 x64(or Miniconda)
MATLAB的介面
CUDA8.0
cuDNN v5
我的環境是
1.VS2015
2.cmake 3.7.2
3.Anacaonda Python 2.7 x64
4.CUDA8.0
5.cuDNN v5.1
一定要明白自己的配置環境,因為官方給的配置環境不一定和你的一樣,我就進行了一定的修改,待會我會寫出來修改的地方,如果你的環境和我不一樣需要留心。
下載連結以及說明:
1.caffe可以先不下,待會用cmd命令下載就好
2.cmake(https://cmake.org/download/)
3.Anacaonda Python 2.7 x64(https://www.continuum.io/downloads)
4.下載相應的caffe依賴包,地址
僅GPU:
5.CUDA8.0 (https://developer.nvidia.com/cuda-downloads)
下載CUDA8.0的時候我就犯蠢了,我以為它的版本指的是CUDA的版本,我就想當然的在Version裡下了8.1的,白白浪費了我寶貴的時間,其實它的版本指的是Windows的版本。
6.cuDNN v5.1
初次下載會讓你註冊,註冊完就可以下載了。
我下的是5.1的。
根據要求,下載完成後,需要將cuDNN v5.1解壓後的cuda檔案拷貝至NVIDIA GPU Computing Toolkit\CUDA\v8.0資料夾下,比如我的是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。
2.配置caffe:
官方說明:
1.首先開啟cmd命令列,切換到檔案儲存的路徑。然後執行Git等一系列命令,按照說明的來,先執行前三句,比如我的是:
2.接著根據自己的情況修改caffe\scripts\bulid_win.cmd命令,把字尾名修改成txt,用vs2015將build_win.txt開啟。
2.1修改裡面的22-25行。
:: Set python 2.7 with conda as the default python
if !PYTHON_VERSION! EQU 2 (
set CONDA_ROOT=C:\Miniconda-x64 //如果用的是Miniconda-x64則不用修改,如果是Anaconda,則改成自己的路徑,比如我的是C:\Anaconda2
)
python3.5的則對應修改26-29行。
2.2修改裡面的68-90行
) else (
:: Change the settings here to match your setup
:: Change MSVC_VERSION to 12 to use VS 2013
if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 //用vs2013的把這裡修改成12
:: Change to 1 to use Ninja generator (builds much faster)
if NOT DEFINED WITH_NINJA set WITH_NINJA=1 //用vs2015的把這裡修改成0
:: Change to 1 to build caffe without CUDA support
if NOT DEFINED CPU_ONLY set CPU_ONLY=0 //只編譯CPU的把這裡修改成1
:: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configs
if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release
:: Set to 1 to use NCCL
if NOT DEFINED USE_NCCL set USE_NCCL=0
:: Change to 1 to build a caffe.dll
if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0
:: Change to 3 if using python 3.5 (only 2.7 and 3.5 are supported)
if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=2
:: Change these options for your needs.
if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1
if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1
if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 //需要MATLAB介面的把這裡設定為1
:: If python is on your path leave this alone
if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python
:: Run the tests
if NOT DEFINED RUN_TESTS set RUN_TESTS=0
:: Run lint
if NOT DEFINED RUN_LINT set RUN_LINT=0
:: Build the install target
if NOT DEFINED RUN_INSTALL set RUN_INSTALL=0
)
2.3 把字尾名改回cmd,在命令列下執行最後一句配置命令。
3.當你執行最後一句命令的時候,它會下載一個依賴包,並且自動在C盤使用者資料夾上生成.caffe資料夾,下載的依賴包就放到裡面。如你所見,下載速度賊慢,而且有可能出錯,所以推薦自己下載然後放在指定位置。把你下載的caffe依賴包壓縮檔案放到C盤使用者資料夾下生成.caffe資料夾,如我的位置是在C:\Users\John.caffe\dependencies\download。
建議先執行build_win.cmd命令,如果速度太慢再把它關閉,這樣就不需要自己建立對應的資料夾,只需把壓縮檔案拷貝就行。
4.再執行一次build_win.cmd命令,這次不會有什麼問題,等待一小段時間後cmake就把vs2015的專案給創建出來了。
5.在caffe\scripts\build資料夾下就生成了caffe.sln,用vs2015將其開啟,並在release x64或者Debug x64生成ALL_BUILD檔案即可
最後沒有報錯,那麼配置就告一段落了。
3.測試caffe.exe
修改lenet_train_test.prototxt檔案:
//需要修改四處地方,如下紅色部分標註
name: "LeNet"
layer {
name: "mnist"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
scale: 0.00390625
}
data_param {
source: "....省略/examples/mnist/mnist-train-leveldb" //寫上你的絕對路徑 ,比如我的是E:\caffe\examples\mnist\mnist-train-leveldb
batch_size: 64
backend: LEVELDB //格式改成LEVELDB
}
}
layer {
name: "mnist"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
scale: 0.00390625
}
data_param {
source: "....省略/examples/mnist/mnist-test-leveldb" //寫上你的絕對路徑
batch_size: 100
backend: LEVELDB //格式改成LEVELDB
}
}
修改lenet_solver.prototxt檔案:
net: "....省略/examples/mnist/lenet_train_test.prototxt" //絕對路徑
snapshot_prefix: "....省略/examples/mnist/lenet" //絕對路徑
solver_mode: CPU //CPU模式如果的配置了GPU也可以選擇GPU
編寫批處理檔案run.bat內容如下:
E:\caffe\scripts\build\tools\Release\caffe.exe train--solver=E:\caffe\examples\mnist\lenet_solver.prototxt
//exe處寫自己的絕對路徑
Pause
上面替換為你的檔案絕對路徑就可以
雙擊run.bat程式能夠執行,並且之後也不會報錯,那麼恭喜你,Caffe-Windows配置成功了。