1. 程式人生 > >caffe 02 win10 vs2015 編譯(支援GPU)

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

中會加入如下兩項(如果你安裝了其他版本的python,請確保這個環境變數在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

把BLAS屬性設定為OPEN。
勾選Build_python,使caffe支援python介面。
勾選Build_python_layer,使caffe支援python語言自定義層。
設定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工程。