64位win10+cuda8.0+vs2013+cuDNN V5下Caffe的编译安装教程并配置matlab2014a 接口
一、需要安装的软件
1)vs2013,我是在http://www.52pojie.cn/thread-492326-1-1.html这个网址安装的。我之前用的是vs2012,按照网上的配置教程会爆各种错误,NuGet包总是还原失败,调试了一整天都没弄成功,最终还是安装了vs2013,才使配置过程一切顺利,所以还是建议安vs2013。
2)matlab R2014a,这是我用的matlab版本,如果不打算配置matlab这个接口的话可以不用下载这个。
3)cuda 8.0,cuda的下载与安装介绍在我的另一篇文章里有http://www.cnblogs.com/luyaoblog/p/7247671.html。这里需要注意的一个问题就是下载之前一定要先查一下自己显卡的型号,以免下载和自己电脑不匹配的cuda。
4)下载caffe for windows,解压后的文件为caffe-master,他有两层同名文件夹,不要擅自修改。下载地址https://github.com/Microsoft/caffe。
5)下载cuDNN,下载地址https://developer.nvidia.com/cudnn,需要先注册在选择下载版本,建议下载版本4或5,这是因为在【..\caffe-master\windows】下CommonSettings.props文件中第23行有说明
<!-- CuDNN 4 and 5 are supported -->
二、整理下载的文件
建议把caffe-master.zip和cudnn-8.0-window10-x64-v5.0-zip放在一个文件夹内解压,文件夹名字为caffe。如图

NugetPackages这个文件夹先不用管,这是后期自动生成的。
三、修改配置文件
打开caffe-master文件夹,然后看到一个windows文件夹,然后继续打开windows文件夹,看到里面一个CommonSettings.props.example文件,复制出来一份,并改名字为CommonSettings.props。

接下来用vs2013打开CommenSetting.probs文件,先不要点Caffe.sln,因为你直接点可能会导致libcaffel和test_all加载失败,我们首先打开这个文件CommenSetting.probs,然后修改里面的配置信息。


主要修改的内容为:
<UseCuDNN>true</UseCuDNN>
<CudaVersion>8.0</CudaVersion>
说明:这里UseCuDNN设置为true,因为我下载的cuda版本为8.0,这里原来是7.5,需要改成8.0。
<MatlabSupport>true</MatlabSupport>
<CudaDependencies></CudaDependencies>
说明:因为我要配置matlab的接口,所以要把这个设置为true
<!-- CuDNN 4 and 5 are supported -->
<CuDnnPath>D:\caffe</CuDnnPath>
<ScriptsDir>$(SolutionDir)\scripts</ScriptsDir>
说明:这里CuDnnPath是自己电脑里cudn存放地址的上一级文件名称,因为前面介绍了,建议将cuda和cudnn的解压文件放在一个caffe文件夹下。
<PropertyGroup Condition="'$(MatlabSupport)'=='true'">
<MatlabDir>D:\Program Files\MATLAB\R2014a</MatlabDir>
<LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath>
<IncludePath>$(MatlabDir)\extern\include;$(MatlabDir)\toolbox\distcomp\gpu\extern\include;$(IncludePath)</IncludePath>
</PropertyGroup>
说明1:这里MatlabDir是自己电脑中matlab启动文件的地址,如果不知道,可以右键桌面快捷方式从属性中查看。
说明2:IncludePath也改了,直接按照我的复制就可以。
四、用vs2013打开caffe.sln
因为刚才已经将CommenSetting.probs修改过了,现在应该可以正常载入了。可以看到主文件现在是libcaffe(黑色加粗的文件)。
现在点击【调试】-【libcaffe属性】


然后现在开始编译,先编译的是libcaffe,如果成功的话基本就不会再有大问题了。
这个时候,在你刚刚解压出来的caffe-master文件夹下面就应该出现一个名叫Build的文件夹,以后编译的成功和运行需要的文件都会存放在build\X64\Relase下面.
如果刚刚那步成功了,接下来右键解决方案“caffe”选择属性,将单启动项目改为多启动项目,然后重新编译,耐心等待最后编译结果。
五、matlab的设置
1)打开matlab2014a,选择【主页】-【设置路径】-【添加并包含子文件夹】
选择D:\caffe\caffe-master\caffe-master\Build\x64\Release\matcaffe,点击保存,Build文件夹就是刚刚编译成功后生成的文件夹。
2)设置系统变量
添加环境变量,在path中添加D:\caffe\caffe-master\caffe-master\Build\x64\Release。
重启matlab,然后在命令行中输入:caffe.reset_all测试,如果如下图所示,说明配置成功。

六、出现的一些问题
问题1:libcaffe和testall加载不成功
解决:1.检查cuda版本,即CommonSettings.props中的cuda版本和自己电脑中安装的是否一致,CommonSettings.props中默认是7.5。
2.vs2013的安装路径中缺少CUDA 8.0.props,该文件的路径为(我电脑中的路径)
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.\extras\visual_studio_integration\MSBuildExtensions
将其复制后粘贴到
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations
问题2:libcaffe编译不成功,missing Nuget
解决:这是我用vs2012出现的问题, 换成vs2013之后就好了。
问题3:caffe.sln error MSB8020: The builds tools for v120 (Platform Toolset = 'v120
解决:因为我一开始用的是vs2012(v110),这个工具好像默认是vs2013(v120),但是我在设置里把libcaffe的平台改成了vs2012还是不成功,随便这个错误没有了, 但是又有了其他错误,总之最后还是换成了vs2013就一切顺利了。。
问题4:无法打开输入文件“caffelib.lib”
这个是最早照着网上一个教程,下载了caffe-vs2012和一个caffe-windows,把caffe-vs2012里的三个文件夹复制到caffe-windows里,按照教程打开MainBuilder.sln时会报的错误,我也不清楚什么原因。还是老老实实按照这个教程一步一步来吧。
64位win10+cuda8.0+vs2013+cuDNN V5下Caffe的编译安装教程并配置matlab2014a 接口的更多相关文章
- Ubuntu 14.04(64位)+GTX970+CUDA8.0+Tensorflow配置 (双显卡NVIDIA+Intel集成显卡) ------本内容是长时间的积累,有时间再详细整理
(后面内容是本人初次玩GPU时,遇到很多坑的问题总结及尝试解决办法.由于买独立的GPU安装会涉及到设备的兼容问题,这里建议还是购买GPU一体机(比如https://item.jd.com/396477 ...
- Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a(转载)
Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a 最近于导师要求下,从头学习Caffe.之前接触了CNN进行了图片分类,后导师提起过Caff ...
- 64位Win10系统安装Mysql5.7.11
最近在装了64位Win10系统的mac book笔记本上用mysql-installer-community-5.7.11.0安装Mysql5.7.11,在配置mysql server时老是卡住,报错 ...
- Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...
- 64位win10系统无法安装.Net framework3.5的两种解决方法
参考网站: https://blog.csdn.net/zang141588761/article/details/52177290 在Windows10中,当我们安装某些软件的时候会提示“你的电脑上 ...
- 64位win10系统无法安装.Net framework3.5的两种解决方法【转】
近日有网友反映在windows10_64位系统电脑上安装Net framework3.5,操作时总失败,怎么办呢?小编下面就介绍win10 64位系统无法安装Net framework3.5的两种解决 ...
- XP,32/64位Win7,32/64位Win8,32/64位Win10系统 【春节版】
本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎 ...
- 【春节版】年度精品 XP,32/64位Win7,32/64位Win8,32/64位Win10系统
本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎 ...
- 【2016新年版】年度精品 XP,32/64位Win7,32/64位Win8,32/64位Win10系统
本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎 ...
随机推荐
- VS2008 SP1 安装卡在 VS90sp1-KB945140-X86-CHS的解决方法
VS2008 SP1 安装卡在 VS90sp1-KB945140-X86-CHS的解决方法 VS2008 SP1 安装卡在 VS90sp1-KB945140-X86-CHS的解决方法 方法一:(不推荐 ...
- thinkphp 多对多关联模型(转)
先建立一个模型 1 2 3 4 5 6 7 8 9 10 11 12 <?php class UserModel extends RelationModel{ protected $ ...
- git-常用命令一览表
一.git bash 操作文件 常用命令表 git常用 文件操作 命令 功能分类 命令 说明 备注 目录切换 cd 文件目录 改变/切换 目录, change directory 如 cd e:\ff ...
- input type="number"时,maxlength不起作用怎么解决
最近小颖在做公司的angular项目时,发现当input type="number"时,maxlength不起作用,百度了下解决方式,顺便记录下,以便后期查看嘻嘻 <inpu ...
- Visual Studio 2015打开ASP.NET MVC的View提示"Object reference not set to an instance of an object"错误的解决方案
使用Visual Studio 2013打开没有问题,但Visual Studio 2015打开cshtml就会提示"Object reference not set to an insta ...
- 使用jvisuamvm的btrace插件
在之前的文章中写了如何使用btrace来监控运行中的jvm的方法的参数和返回值 jvisualvm中提供了一个btrace插件,我们可以更方便地attach到一个运行中的jvm 更方便地执行和停止bt ...
- Centos 创建 docker项目
从gitlab上下载一个docker-compose.yml文件. wget -o docker-compose.yml \ https://raw.githubusercontent.com/sam ...
- exml自动加载图片
常规H5和微信小游戏同样有效 一.exml自动加载图片 有两张图片 图片未放入defatult.res.json的资源组里,未预先加载包含2张图片的资源组,仅仅在default.res.json里有图 ...
- Android服务开发——WebService
我在学习Android开发过程中遇到的第一个疑问就是Android客户端是怎么跟服务器数据库进行交互的呢?这个问题是我当初初次接触Android时所困扰我的一个很大的问题,直到几年前的一天,我突然想到 ...
- spring boot 通过Maven + tomcat 自动化部署
使用maven创建的springboot项目,默认是jar包,springboot还有自己带的tomcat. 现在为了简单实现本地自动发布项目到服务器,需要通过发布war包的形式,通过maven将项目 ...