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浏览器中国默认主页和搜索引擎 ...
随机推荐
- 怎样在js中使用EL表达式
相信已经有很多人对如何在js中使用EL表达式存有困惑,各种引号的处理不胜其烦. 1.在js(嵌入jsp页面)中通过定义变量的方式使用EL表达式: 如:var url = '${param.url}'; ...
- (原)一句mpAudioPolicy->get_input引发的血案
今天分析Android的Audio系统时,对mpAudioPolicy->get_input进行了分析,没想到这一句话的背后如此复杂,简直是一句话引出的血案啊! 分析结果如下:(关于排版:各个变 ...
- 【存储过程】用SQL语句获得一个存储过程返回的表
定义一个存储过程如下: create proc [dbo].[test1] @id int as select 1 as id,'abc' as name union all select @id a ...
- vuex - 学习日记
一.简单理解 简单说vuex,就是用来管理组件状态的数据,并且能在你可掌控的范围下增删改查这些数据. store容器 , state状态 二者关系(包含): 以前我也把vuex里边的state看成是一 ...
- Servlet 简单介绍
来源于菜鸟教程http://www.runoob.com/servlet/servlet-intro.html Servlet 简介 Servlet 是什么? Servlet(Server Apple ...
- Python pyQt4/pyQt5 学习笔记2(状态栏、菜单栏和工具栏)
例子:状态栏.菜单栏和工具栏 import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(sel ...
- Linux 安装GCC讲解(在线和无网离线)
本文主要介绍如何在无网络的环境下怎么离线安装GCC,如果有网,只需要通过命令 yum install gcc 进行安装就可以了,yum会自动把所有关联的依赖包也一起安装了,一键安装. yum inst ...
- Stooge 排序
Stooge排序是一种低效的递归排序算法,甚至慢于冒泡排序.在<算法导论>第二版第7章(快速排序)的思考题中被提到,是由Howard.Fine等教授提出的所谓“漂亮的”排序算法. 实现 如 ...
- 【BZOJ4355】Play with sequence 线段树
[BZOJ4355]Play with sequence Description 维护一个长度为N的序列a,现在有三种操作: 1)给出参数U,V,C,将a[U],a[U+1],...,a[V-1],a ...
- iOS 面试题整理(带答案)二
第一篇面试题整理: http://www.cocoachina.com/bbs/read.php?tid-459620.html 本篇面试题同样:如答案有问题,欢迎指正! 1.回答person的ret ...