VS2013下安装&编译Windows Caffe

想在Windows平台使用Caffe,吭哧吭哧下载了半天第三方库,后来忽然发现Microsoft官方移植了Caffe,配置起来简直太省心了…


1. 从Microsoft官方Github上下载Caffe,源代码压缩包不到9MB大小,并将其解压缩到本地目录


https://github.com/Microsoft/caffe


2.安装NVIDIA CUDA,目前最新版本是7.5,离线安装包约962MB(8.0版也即将要发布了)。

Nvidia CUDA Toolkit


3.安装NVIDIA cuDNN(CUDA Deep Neural Library),目前最新版本是5(windows Caffe支持cuDNN 4和5)

Nvidia cuDNN

下载的压缩包中是Nvidia编译好的lib和dll以及.h头文件,约39MB,解压缩到本地目录即可。


4.打开Caffe解压缩目录,将其中windows目录中的CommonSettings.props.example复制一份并重命名为CommonSettings.props,然后使用Visual Studio 2013打开Caffe.sln解决方案。首先我们要将第3步中的cuDNN目录添加到libcaffe工程目录中,打开CommonSettings.props编辑<CuDnnPath>标签;或者是打开工程的“属性”->“配置属性”->“VC++目录”,在右侧的“包含目录”中将cuDNN的include文件路径添加进去即可。然后我们就可以对Caffe进行编译了。

此时有同学可能会问,Caffe所依赖的boost、OpenCV、gflags、glog等第三方库统统都没有配置,难道不需要提前安装了吗?现在这个问题不用担忧了,因为Microsoft有非常强大的NuGet工具。只要当我们第一次编译工程时,NuGet便开始自动下载并配置这些第三方库了,同时会在Caffe同层目录生成一个名为NugetPackages的文件夹,文件夹内容如下图所示。第三方库全部下载解压缩后这个文件夹大小约1GB,所以NuGet下载时间还挺漫长的。



5.如果在编译过程中提示“error C2220: 警告被视为错误 - 没有生成“object”文件”,这是由于微软NuGet回来的boost库中的format\alt_sstream_impl.hpp文件编码格式导致的,只需要双击错误打开该文件并保存,再编译就顺利通过了。


6.如果我们安装的CUDA版本不是7.5版本,或者我们甚至没有GPU,一样也可以正常使用Caffe

打开CommonSettings.props对以下对应的标签进行编辑即可,

<CpuOnlyBuild>false</CpuOnlyBuild> // 是否只使用CPU模式

<UseCuDNN>true</UseCuDNN> // 使用CuDNN

<CudaVersion>7.5</CudaVersion> // 使用的CUDA版本

<PythonSupport>false</PythonSupport> // Python支持

<MatlabSupport>false</MatlabSupport> // Matlab支持

<CudaArchitecture>compute_52,sm_52</CudaArchitecture>// 计算能力要和当前显卡匹配


CudaArchitecture很重要,需要设置成和当前显卡计算能力匹配,否则即使侥幸通过编译,运行时也会报错提示invalid device function。NVIDIA官网可以查询显卡计算能力

https://developer.nvidia.com/cuda-gpus


7.如果需要配合Python使用,则将上面的标签<PythonSupport>值改为true。由于Caffe的工程配置默认是x64,因此Python也需要安装64位版本的,同时还需要安装64位的numpy。

如果编译Caffe Debug版本时提示缺少python27_d.lib,可以将Python安装目录libs文件夹中的python27.lib复制一份,重命名为python27_d.lib即可。再修改Python安装目录include文件夹中的pyconfig.h文件,将#define Py_DEBUG一行注释掉。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值