1. 程式人生 > >Windows10+CUDA8.0+VS2015+CUDNN5下配置caffe

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依賴包,地址

https://github.com/willyd/caffe-builder/releases/
這裡寫圖片描述
僅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配置成功了。