Windows下编译caffe

左手的ㄟ右手 2022-07-13 04:23 321阅读 0赞

Windows下编译caffe

最近在windows上重新部署了下caffe,发现微软对提供的caffe做了很多改进,解决了很多编译配置的bug,程序下载caffe依赖包NugetPackages和编译速度也快了很多,现在上手caffe算是零门槛了。在win10 + vs2013 + caffe + cuda8.0 +cudnn v5.1 环境下编译成功。
1.cpu模式

1.1下载caffe-master

windows下使用caffe必须先安装VS编译器,VS2013具有很好的的兼容性,请预先安装VS2013。然后到github上下载微软提供的针对windows用户的caffe-master将解压放在某个文件夹下,例如桌面下。

1.2编译caffe

然后在caffe-master文件夹下的windows文件夹中,将CommonSettings.props.example文件复制并重命名为CommonSettings.props,再用记事本打开,作如下修改,表示目前使用cpu模式。

  1. <CpuOnlyBuild>true</CpuOnlyBuild>
  2. <UseCuDNN>false</UseCuDNN>

然后用VS2013打开windows文件夹下的caffe.sln,打开后会发现整个解决方案总共包括了以下16个项目,其中项目libcaffe为整个解决方案的单启动项目,右键libcaffe项目->生成,程序会开始下载微软为windows用户提供的caffe依赖库–NugetPackages工具包,之后会出现没有生成“object”文件的错误,双击error弹出的提示框选择确定,然后关闭alt_sstream_impl.hpp并保存更改。重新编译libcaffe,右键libcaffe项目->重新生成,编译成功!然后对其它项目进行编译。
这里写图片描述

这里写图片描述

这里写图片描述

2.gpu模式(win10 + caffe + cuda8.0 + cudnn v5.1)

2.1安装NVIDIA显卡驱动

要使用gpu加速,首先你的显卡得是NVIDIA的。博主电脑win10,单显卡NVIDIA Geforce GTX 1060 6G,买来时已经预装了显卡驱动,如果你的电脑没有自带NVIDIA显卡驱动,需要自己到英伟达官网下载自己显卡和操作系统对应的 驱动程序

这里写图片描述

2.2安装cuda8.0

可能是显卡比较新,下载了cuda7.5在安装开始检测兼容性不过关,而安装最新的cuda8.0检测兼容性通过,那索性就装最新的呗,安装路径可以就用默认的,cuda在安装的时候会自动关联到你的VS编译器 cuda8.0下载

这里写图片描述

2.3下载cudnn v5.1

目前windows已经支持cudnn v5.1,最新的caffe编译gpu版本时如果使用cudnn v4或cudnn v5编译会报关于NugetPackages中的opencv相关的错误,而cudnn v5.1则解决了这个bug,因此请用v5.1。到英伟达官网下载,选择cuDNN v5.1 Library for Windows 10 cudnn下载 需要邮箱注册一下才能下载,下载解压到任意目录即可,里面是一个cuda文件夹,记住这个cuda文件夹所在的目录路径,之后要用到,例如我解压得到的cuda文件夹是在D:\caffe文件夹下。

这里写图片描述

2.4编译caffe

Caffe-master文件夹下windows目录中,将CommonSettings.props.example文件重命名为CommonSettings.props,再用记事本打开,作如下修改:

  1. <CpuOnlyBuild>false</CpuOnlyBuild>
  2. <UseCuDNN>true</UseCuDNN>
  3. <CudaVersion>8.0</CudaVersion>

其中cuda版本号改为我们安装了8.0版本,并设置cudnn路径为你刚刚解压得到的cuda文件夹所在的目录路径。

  1. <!-- CuDNN 4 and 5 are supported -->
  2. <CuDnnPath>D:\caffe</CuDnnPath>

保存配置文件后重新打开caffe.sln,重新编译libcaffe项目,右键libcaffe->重新生成,编译成功!再对其它项目进行编译。不过好像微软提供的caffe还是不够稳定,有时候还是会报关于NugetPackages的opencv的错(明明刚刚都编译过了,过了会儿重新编译就报这个错),我一般是右键libcaffe清除,然后删了NugetPackages,再右键libcaffe生成,解决那个找不到object问题然后再重新生成就好了。

2.5编译matlab接口

可以参照博客 微软caffe之matlab接口配置

关于python接口,以后慢慢更。现在不仅可以在linux上跑caffe了,windows上体验也很好。

发表评论

表情:
评论列表 (有 0 条评论,321人围观)

还没有评论,来说两句吧...

相关阅读

    相关 caffe window7 vs2013 编译

    笔者一开始一直想用vs2015来进行编译,后来搞了半天,还不如直接下一个vs2013(5G左右,但是速度很快,一个小时就差不多了)。 参考链接:[https://www.