首页 > 代码库 > caffe 02 win10 vs2015 编译(支持GPU)--http://blog.csdn.net/longji/article/details/60964998

caffe 02 win10 vs2015 编译(支持GPU)--http://blog.csdn.net/longji/article/details/60964998

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\
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

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
  • 1
  • 1

安装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\Scriptsc:\Python35\
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

安装后,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
  • 1
  • 1

从 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
  • 1
  • 1

安装其他组件

pip3 install wheel matplotlib six protobuf scikit-image pydot
  • 1
  • 1

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

运行正常。 
技术分享

05 关于调试

主要功能项目在tools 目录下。 
caffe.bin生成 caffe_d.exe 
技术分享

如果要运行caffe自己提供的测试用例,项目入口是runtest工程。运行runtest工程。跑全部测试用例。 
具体测试内容在test.testbin工程。 
技术分享

caffe 02 win10 vs2015 编译(支持GPU)--http://blog.csdn.net/longji/article/details/60964998