caffe 02 win10 vs2015 編譯(支援GPU)
01 必備環境
win10企業版,有GPU的硬體。
vs2015 update3、cmake 3.7.2。
git、python3.5.3、CUDA8.0、cuDNN5.1。
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\
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
# %path%環境變數中有如下兩行
c:\Python35\Scripts\
c:\Python35\
安裝後,C:\Python35\Lib\site-packages只有README.txt檔案。後面使用pip貨pip3安裝的python元件會被預設安裝到
C:\Python35\Lib\site-packages 目錄。
安裝必要的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原始碼下載
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]
過程有下載依賴,時間較長。
下載後壓縮包放在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工程。