一、需要安装的软件

  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 接口的更多相关文章

  1. Ubuntu 14.04(64位)+GTX970+CUDA8.0+Tensorflow配置 (双显卡NVIDIA+Intel集成显卡) ------本内容是长时间的积累,有时间再详细整理

    (后面内容是本人初次玩GPU时,遇到很多坑的问题总结及尝试解决办法.由于买独立的GPU安装会涉及到设备的兼容问题,这里建议还是购买GPU一体机(比如https://item.jd.com/396477 ...

  2. Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a(转载)

    Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a 最近于导师要求下,从头学习Caffe.之前接触了CNN进行了图片分类,后导师提起过Caff ...

  3. 64位Win10系统安装Mysql5.7.11

    最近在装了64位Win10系统的mac book笔记本上用mysql-installer-community-5.7.11.0安装Mysql5.7.11,在配置mysql server时老是卡住,报错 ...

  4. Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解

    随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...

  5. 64位win10系统无法安装.Net framework3.5的两种解决方法

    参考网站: https://blog.csdn.net/zang141588761/article/details/52177290 在Windows10中,当我们安装某些软件的时候会提示“你的电脑上 ...

  6. 64位win10系统无法安装.Net framework3.5的两种解决方法【转】

    近日有网友反映在windows10_64位系统电脑上安装Net framework3.5,操作时总失败,怎么办呢?小编下面就介绍win10 64位系统无法安装Net framework3.5的两种解决 ...

  7. XP,32/64位Win7,32/64位Win8,32/64位Win10系统 【春节版】

    本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎 ...

  8. 【春节版】年度精品 XP,32/64位Win7,32/64位Win8,32/64位Win10系统

    本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎 ...

  9. 【2016新年版】年度精品 XP,32/64位Win7,32/64位Win8,32/64位Win10系统

    本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎 ...

随机推荐

  1. 【Drools-开源业务规则引擎】入门实例(含源码)

    该实例转自:http://blog.csdn.net/quzishen/article/details/6163012 便于理解的应用实例1: 现在我们模拟一个应用场景:网站伴随业务产生而进行的积分发 ...

  2. scanf printf sprintf fprintf

    都是C语言中的函数,但C++保留了这些函数,在头文件iostream中声明了. 1 scanf(格式控制,输出列表) printf (格式控制,输出列表) 举例: #include <iostr ...

  3. Mycat的简易安装及测试

    1.环境 OS版本 CentOS release 6.5 (Final) 64bit DB版本 Mysql 5.6.37 Mycat 1.6 jdk1.7及以上版本 2.实战部署 1.创建用户及用户组 ...

  4. 关于Nagios通过NRPE监控客户端的安装与配置

    环境介绍>>>>>>>>>>>>>>>>>>>>>>>> ...

  5. 【CF932G】Palindrome Partition 回文自动机

    [CF932G]Palindrome Partition 题意:给你一个字符串s,问你有多少种方式,可以将s分割成k个子串,设k个子串是$x_1x_2...x_k$,满足$x_1=x_k,x_2=x_ ...

  6. 【转载】ARM与单片机的区别

    前几天在博客园的博问模块上面发布了一个博问,可能是我问题描述有些问题,被一个园友指出,ARM与单片机是不同的.所以我特地查了一下ARM与单片机的区别,之前一直以为ARM就是加强版的单片机,stm32无 ...

  7. table-layout:fixed 布局注意事项

    table-layout:auto 是表格布局中的默认值,采用浏览器自动表格布局算法,但是缺点会很明显 给td指定的width不一定生效,td的width会自动调整 text-overflow: el ...

  8. 访问php文件显示源码

    前天新装了个LAMP的环境,兴冲冲的clone下来代码,结果一访问乐子就大了,直接显现源码 面对这个问题,冥思苦想,四处找资料啊 让我改这改那的,最后终于找到症结 Ubuntu 16.04 系统 LA ...

  9. HDU - 5651 xiaoxin juju needs help 逆元模板

    http://acm.hdu.edu.cn/showproblem.php?pid=5651 题意:生成回文串.输出所有回文串的可能数. 题解:mod除法会损失高位,用逆元来代替除法,模板如下 ac代 ...

  10. iOS - UITableView 编辑(cell的插入, 删除, 移动)

    UITableView Cell的插入/删除 核心API Class : UITableView Delegate : UITableViewDataSource, UITableViewDelega ...