--http://blog.csdn.net/longji/article/details/60964998
注意: 在cmake的時候需要根據情況仔細修改配置,比如,如果gpu的能力不足3.0的話,在windows上就不能開啟cudnn,應當設置為OFF,否則后面運行的時候將開啟cudnn,但是事實上硬件不能支持,倒時候還得回來重新修改配置重新編譯。
01 必備環境
win10企業版,有GPU的硬件。
vs2015 update3、cmake 3.7.2。
Git、python3.5.3、CUDA8.0、cuDNN5.1。
cuda_8.0.61_win10.exe下載地址:
http://developer.download.nvidia.com/compute/cuda/8.0/secure/Prod2/local_installers/cuda_8.0.61_win10.exe?autho=1487739113_9ad462b1e508ab177490b79065da6a6a&file=cuda_8.0.61_win10.exe
安裝后有如下環境變量:
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0 CUDA_PATH_V8_0=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0 NVCUDASAMPLES8_0_ROOT=C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0 NVCUDASAMPLES_ROOT=C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0 NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt\
cuDNN下載需要注冊個賬號。下載cudnn-8.0-windows10-x64-v5.1-zip后解壓到 C:\Program Files\cuda
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v5.1/prod_20161129/8.0/cudnn-8.0-windows10-x64-v5.1-zip
C:\Program Files\cuda下有bin、include、lib3個目錄。
設置環境變量
CUDNN_ROOT=C:\Program Files\cuda
安裝pthon3.5.3及必要組件
pytho3.5.3下載地址:https://www.python.org/ftp/python/3.5.3/python-3.5.3-amd64.exe
安裝到c:\python35。安裝時選擇設置環境變量、勾選pip。
安裝后,環境變量path中會加入如下兩項(如果你安裝了其他版本的Python,請確保這個環境變量在path的較前位置)。
# %path%環境變量中有如下兩行 c:\Python35\Scripts\ c:\Python35\
安裝后,C:\Python35\Lib\site-packages只有README.txt文件。后面使用pip貨pip3安裝的python組件會被默認安裝到
C:\Python35\Lib\site-packages 目錄。
根據 https://github.com/BVLC/caffe/tree/windows 官網描述:
安裝必要的python工具組件:
在網址 http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
下載scipy-0.18.1-cp35-cp35m-win_amd64.whl
保存到E:\Work\201703\caffe\
安裝scipy:
pip3 install E:\Work\201703\caffe\scipy-0.18.1-cp35-cp35m-win_amd64.whl
從 http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
下載 Numpy+MKL,
選擇 numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl,
下載到E:\Work\201703\caffe\
安裝 Numpy+MKL:
pip3 install E:\Work\201703\caffe\numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl
安裝其他組件
pip3 install wheel matplotlib six protobuf scikit-image pydot
02 caffe源碼下載
官網:http://caffe.berkeleyvision.org/
github:https://github.com/BVLC/caffe/
下載源碼:
cd d:\git\DeepLearning git clone https://github.com/BVLC/caffe.git cd caffe git branch -a git checkout windows
03 設置CMake-gui,生成vs工程文件
設置 源代碼路徑:D:/git/DeepLearning/caffe
設置 生成build路徑:D:/git/DeepLearning/caffe/build/x64
選擇生產vs工程的版本:Visual Sutdio 14 2015 Win64
tooset 默認值,空
勾選[Use default native compilers]
過程有下載依賴,時間較長。
這個過程主要是下載如下內容:
caffe\cmake\WindowsDownloadPrebuiltDependencies.cmake文件中指定的文件:
https://github.com/willyd/caffe-builder/releases/download/v1.0.1/libraries_v140_x64_py35_1.0.1.tar.bz2。
下載后壓縮包放在camke-gui指定的編譯目錄下。D:\git\DeepLearning\caffe\build\x64\libraries_v140_x64_py35_1.0.1.tar.bz2
如果該目錄存在此文件,再次點擊[Configure]按鈕不會重復下載。該文件保存在亞馬孫雲上,下載速度很慢,建議手工下載。很可能需要嘗試多次。
壓縮包下載完成,或者手動下載后再次Configure時,會出現如下BLAS配置錯誤。把BLAS屬性設置為OPEN。
把BLAS屬性設置為OPEN。
勾選Build_python,使caffe支持python接口。
勾選Build_python_layer,使caffe支持python語言自定義層。
設置python_version屬性為3,指定python版本是3.0+。
最后還有幾個Boost_PYTHON-PY*_LIBARY_*選項錯誤。忽略。
點擊[Generate]按鈕,生成vs工程文件。
04 vs2015編譯
用vs2015打開 D:\git\DeepLearning\caffe\build\x64\Caffe.sln。編譯整個Caffe.sln下面的工程。共44個工程。
編譯成功后,生成INSTALL工程,這樣完整的debug版本就安裝到D:\git\DeepLearning\caffe\build\x64\install目錄下了。
運行caffe_d.exe -version 或者-help。運行正常。
編譯並安裝release版本后,可以測試下python接口。
運行如下python文件
D:\git\DeepLearning\caffe\build\x64\install\bin\test01.py
import numpy as np; import sys,os; caffe_root='D:/git/DeepLearning/caffe/build/x64/install/'; sys.path.insert(0, caffe_root + 'python'); import caffe-d as ca; # 引入自己的caffe的python接口 print("######"); # python打印6個# import matplotlib.pyplot as plt; plt.plot([1,2,3,4], [1,2,3,4]); plt.show(); # 畫一條45°直線 ca.set_mode_gpu(); #設置使用GPU,ca.set_mode_cpu(); import caffe.io as cai; import caffe.net_spec as can; import caffe.classifier as cac; import caffe.draw as cad; # 這個文件需要安裝pydot組件 import caffe.coord_map as caco;
運行正常。
05 關於調試
主要功能項目在tools 目錄下。
caffe.bin生成 caffe_d.exe
如果要運行caffe自己提供的測試用例,項目入口是runtest工程。運行runtest工程。跑全部測試用例。
具體測試內容在test.testbin工程。