【神经网络与深度学习】【CUDA开发】【VS开发】Caffe+VS2013+CUDA7.5+cuDNN配置过程说明
【神经网络与深度学习】【CUDA开发】【VS开发】Caffe+VS2013+CUDA7.5+cuDNN配置过程说明
标签:【Qt开发】
说明:这个工具在Windows上的配置真的是让我纠结万分,大部分都是基于Linux下进行的部署,但是Linux只是跑在虚拟机中,只为了开发ARM-Linux的人,你不会想着去在虚拟机里配置Caffe的。所以,迫不得已必须在Windows上部署,于是从BVLC下载,试着用CMAKE生成本地的VS2010工程,当然之前已经部署过CUDA7.5 toolkit了,但是cuDNN还没有下载,于是问题就阻塞在用CMAKE生成工程的问题上了,尼玛一堆一堆的错误,不是少这个就是少那个,然后从网上一个一个的找对应的第三方库,搞得我电脑都气绿了,第三方库找的也是哭了,有的找到的是源码,还得用cmake先生成VS工程,然后编译生成,中间这一大堆路径问题,根本没有这么细的心思去做,于是又放弃了。过了一段时间,还是需要用到这个工具,又试着先稳定一下心神,然后去配置,总之,那一堆堆的第三方库在CMAKE的时候根本配置不过去,又尝试了一个晚上,不得不放弃!再后来,想直接从网上下载别人别人配置好的工程,然后终于是从网上找到了一个非常好的参考:
【神经网络与深度学习】caffe+VS2013+Windows无GPU快速配置教程
在这个基础上,我试着下载了微软提供的版本,由于之前配置Qt5.7+MSVC2015安装过了visual studio 2015,想着应该用VS2015来配置也一样,然后解压后打开工程,然后开始生成时就发现了一件非常振奋的事情:
VS2015居然可以通过程序包管理控制器来配置第三方依赖库,然后后面一共有16个PKG第三方库就下载了下来,放在了packages文件夹下。
关于VS2015的包管理控制器可以参看博文:
《【VS开发】visual studio 2015的NuGet Manager解决方案管理功能》
刚开始配置的时候一步一步来,先设置不使用CUDA,仅仅使用CPU,然后发现还是第三方库的没有找到的错误,但是通过包管理器明明看到已经装载了,先是怀疑版本不对?不能识别。然后仔细看了下发现问题是路径不对,于是将packages改名移动到../../NugetPackages中,然后第三方库是可以发现了,但是爆出了一大堆的错误,一些东西根本不能看明白,我开始还试图解决这些问题,但是在网上一搜基本上没找到为毛,所以,真的是又一次遇阻,而且还很难迈过去。
后来又不断地查询相关CUDA7.5 toolkit对VS2015的配置问题,最终结论就是CUDA7.5不能对VS2015进行配置,唯一可以进行的是给VS2015安装Nsight,最新版的独立Nsight是支持VS2015的,但是这并没有帮助我解决Caffe配置问题。
所以,最后咬着牙,愣是下载了Visual studio 2013,然后装了上去。于是我电脑上就出现了三个版本的Visual studio,2010,2013,2015。固态盘C盘只剩下5GB的空间,太可怕了。
然后卸载重装cuda_7.5.18_windows.exe,在配置visual studio的时候,出现了对VS2013和VS2010的配置,果然是只能支持到2013。
之后打开2013,然后发现了Nvidia CUDA的选项,说明配置成功。
然后就是删掉了原来的基于VS2015版本的Caffe,当然第三方库NugetPackages没变,还放在原来的位置。
下面就是按部就班的,先配置工程不实用CUDA,只使用CPU,然后全部生成,真的就没问题了。让我小小激动一下,然后重新复制一份工程,并加上-cuda,表示使用cuda,此时仍先屏蔽掉cuDNN,然后经过好一段时间的编译,终于还是16个全部生成成功。最后就是使能cuDNN,这个时候爆出了找不到cudnn.h的错误,下面就是需要下载cudnn,然后进行配置,具体内容可以参考博文:
《【神经网络与深度学习】【VS开发】【CUDA开发】VS2013 配置CUDNN V4 DEMO》
刚开始下载了CUDNN后并不知道放在那里算是可以配置好了,起初是准备通过对每个工程的包含路径进行设置,但是感觉太多了,应该不是这样解决的,于是找到了上面那篇博文,将对应的头文件以及动态链接库、lib等放入到了对应的文件夹下,于是再次编译,结果经过一段漫长的时间,全部生成功,真是不容易啊!
注意:这里用的Nuget包仍然是从VS2015配置的时候下载过来的。
后面的任务就是如何使用这些东西进行训练、预测的使用环节了!
后记:不得不说浪费了较长的时间在第三方库的安装上,而且最后也没有通过自己一步一步的下载得到解决,还是通过VS2015嵌入的如此牛的Nuget管理器进行的下载,关于这个新的功能,了解的还不太多,后面有需要的话,在进行深入了解吧!
2016-9-14 10:38
张朋艺 pyZhangBIT2010@126.com
【神经网络与深度学习】【CUDA开发】【VS开发】Caffe+VS2013+CUDA7.5+cuDNN配置过程说明的更多相关文章
- 【神经网络与深度学习】【Qt开发】【VS开发】从caffe-windows-visual studio2013到Qt5.7使用caffemodel进行分类的移植过程
[神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置成功后的第一次训练过程记录<二> 标签:[神经网络与深度学习] [CUDA开发] ...
- 【神经网络与深度学习】【Matlab开发】caffe-windows使能Matlab2015b接口
[神经网络与深度学习][Matlab开发]caffe-windows使能Matlab2015b接口 标签:[神经网络与深度学习] [Matlab开发] 主要是想全部来一次,所以使能了Matlab的接口 ...
- 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程
[神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...
- 【神经网络与深度学习】【VS开发】【CUDA开发】VS2013 配置CUDNN V4 DEMO
VS2013 配置CUDNN V4 DEMO 众所周知,当前主流深度学习的实现中调用的底层API都是cudnn,自己做项目需要开发深度学习模块时,也需要调用cudnn库,因此熟悉cudnn库是很有必要 ...
- 【神经网络与深度学习】【Python开发】Caffe配置 windows下怎么安装protobuf for python
首先从google上下载protobuf-2.5.0.zip和protoc-2.5.0-win32.zip,然后把protoc-2.5.0-win32.zip里的protoc.exe放到protobu ...
- 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试
[神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...
- 13本热门书籍免费送!(Python、SpingBoot、Entity Framework、Ionic、MySQL、深度学习、小程序开发等)
七月第一周,网易云社区联合清华大学出版社为大家送出13本数据分析以及移动开发的书籍(Python.SpingBoot.Entity Framework.Ionic.MySQL.深度学习.小程序开发等) ...
- [DeeplearningAI笔记]神经网络与深度学习人工智能行业大师访谈
觉得有用的话,欢迎一起讨论相互学习~Follow Me 吴恩达采访Geoffrey Hinton NG:前几十年,你就已经发明了这么多神经网络和深度学习相关的概念,我其实很好奇,在这么多你发明的东西中 ...
- (转)神经网络和深度学习简史(第一部分):从感知机到BP算法
深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...
随机推荐
- Kendo UI for jQuery使用教程:使用MVVM初始化(二)
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
- k8spod控制器概述
自主式pod对象由调度器绑定至目标工作节点后即由相应节点上的kubelet负责监控其容器的存活性,容器主进程崩溃后,kubelet能够自动重启相应的容器.不过,kubelet对非主进程崩溃类的容器错误 ...
- C++类模板——博客链接
https://www.jianshu.com/p/70ca94872418 C++类模板,你看我就够了 值得学习~
- 编程语言类别;运行Python程序的方式;变量和常量;Python程序的垃圾回收机制;
目录 编程语言分类 运行Python程序的两种方式 1.交互式 变量与常量 1.变量 2.常量 3.小整数池 垃圾回收机制 编程语言分类 编程语言分为: 1.机器语言:直接用二进制的0和1和计算机(C ...
- django 做 migrate 时 表已存在的处理方法
django 做 migrate 时 表已存在的处理方法 文章来源:嗨学网 http://www.piaodoo.com 在开发web的时候,如果是以前已存在的项目,项目下载下来后,为了使用测试库的数 ...
- LINUX笔记之一概述
unix商业发行版三个主要的:IBM的AIX,HP的HP-UX,SUN的Solaris.AIX和HP-UX只能装在对应的机器上,只有Solaris可以装在个人PC上. 普通发行版FREE BSD和LI ...
- 【winfrom-右击快捷菜单】右击或左击时显示快捷菜单
拖个contextMenuStrip控件 按钮的MouseDown事件: private void treeView1_MouseDown(object sender, MouseEventArgs ...
- zrender-部分小知识点集合
1.存组件元素和取组件元素,会在数据更新时,将存起来的拿出来 在construct(){ this.saveData=[];//先声明一个空的数组 } //存的方法 setSave(ele,i,nam ...
- C# 4.0
序言 动态绑定-dynamic class Program { static void Main(string[] args) { ; ; // Rest the mouse pointer over ...
- 51 Nod 1086 多重背包问题(单调队列优化)
1086 背包问题 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放 ...