Windows 下用 build_win.cmd 直接编译 GPU 版caffe

1.安装CUDA

首先我们得从CUDA官网,下载对应版本得CUDA,这里打开默认是CUDA 10,若我们想下载低版本的 CUDA,如下图,选择 Legacy Releases:
Windows 下用 build_win.cmd 直接编译 GPU 版caffe

这里以 CUDA 8.0 为例:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

点击下载,下载完是一个 .exe 文件,只要硬件符合直接双击安装即可。

2.安装cudnn

这里自行下载,需要在 NVIDIA 的cudnn官网 注册一个账号,免费的,以后可能都会用到,所以这里就不给出百度云分享了,可以去官网注册一下。 完成注册登录以后进行下载页面:
Windows 下用 build_win.cmd 直接编译 GPU 版caffe

根据自己CUDA 的版本选择对应的版本,以 cudnn 5.1 为例:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

下载完是一个 .zip 的压缩包,直接解压后是3个子文件夹:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

这时候我们找到第1步下载安装的 CUDA 路径,以我的电脑为例:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

打开上述文件夹,找到对应于 cudnn 解压出来的 3 个子文件夹

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

将 cudnn 子文件夹中的文件分别放到上面三个对应名字的文件夹里,这样 cudnn 就配置完成了。

3.前期准备

可以看到caffe官方贴出的windows版安装对安装环境版本的说明:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

###注:这里Python的版本只支持python2.7 或者 python3.5

所以我们需要先准备好:

a) VS2015

Tip: 如果电脑安装的是 VS2013, Python只能用2.7版本的,否则编译时会 version 报错

b) anaconda3: 因为现在官网最新下载的anaconda3都是python3.6版本的了,而目前caffe官方只支持到python3.5,这里给出anaconda3-python3.5版本的百度云下载链接。[密码:y05j]

c) anaconda2:直接官网下载安装即可。

###注:b 和 c 任选其一即可,后面根据自己选择的python版本进行对应配置,个人推荐下载anaconda3。

4.下载windows版caffe

Github 官方下载地址:下载

打开界面以后:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

如上图所示:我们选择左边的Branch,选择windows然后选择下载就可以了。

5.修改Caffe配置文件

下载压缩包以后解压缩,可以看到:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

进入 scripts 文件夹选择build_win.cmd文件,用文本编辑器进行编辑:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

在build_win.cmd中根据我们的需求修改我们的配置(主要是69行-100行之间),因为我需要使用pycaffe,所以事先安装了 anaconda3[python3.5版本],这里我将87行改成了PYTHON VERSION=3 ),官方说明caffe的配置python只支持3.5或者2.7版本,所以安装时候需要注意一下,这里将76行, CPU_ONLY 设置成 0,99行 RUN_INSTALL 设置成1

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

6.编译caffe

修改好build_win.cmd文件后保存退出,然后在caffe-windows文件下打开命令行工具,输入:

.\script\build_win.cmd

开始编译caffe(这里我使用的是Cmder,界面会比windows自带的cmd界面友好一些,而且可以加入右键菜单直接打开,类似于Ubuntu的Terminal,很方便,推荐大家使用,具体安装方法参见我的另一篇博客-Cmder 加入右键菜单),会有下面的输出:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

可以看到第一次编译的时候,caffe会下载依赖库到图片中画红线的路径,所下载的依赖包143M左右,但下载过程中也可能会多次出现下载报错的问题,不是很稳定,这个时候我们可以:

1)先ctrl+c结束这个进程,然后以python版本为区分,可以在我分享的百度云文件下载自己对应版本的依赖包。
Python2.7的:libraries_v140_x64_py27_1.1.0.tar.bz2[ 密码:4yf0 ]
Python3.5的:libraries_v140_x64_py35_1.1.0.tar.bz2[ 密码:35jj ]

2)耐心等待它自己下载完。

上面两步任选其一,然后下载完成后直接将压缩包放在上面输出的对应路径下即可,以我的电脑为例:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

然后再次输入 .\script\build_win.cmd ,可以看到:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

这里下载就变成了开始提取文件,稍加等待,caffe就开始编译了。

最后编译成功会得到:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

警告数可以忽略,每次编译可能都会不一样,只要是 0个错误,就说明caffe编译成功了,就可以正常使用了。

###Debug版和Release版通过修改build_win.cmd 第 81 行就可以了。步骤相同,直接编译即可。

编译以后刚才强调的将第99行 RUN INSTALL 设置成1,在build/install/bin 目录下就会生成:

Windows 下用 build_win.cmd 直接编译 GPU 版caffe

可以看到像caffe.execompute_image_mean.exe 等常用的执行文件就在这里了(设置为0就没有这些文件),C++使用时,添加相应路径即可。

相关博客:

Windows 下用 build_win.cmd 直接编译CPU版caffe

Windows下 Caffe C++接口的调用

Windows下 Pycaffe 的配置与使用