【神经网络与深度学习】【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 ...
随机推荐
- 【Linux学习四】Linux下Vim命令操作
1.Vim介绍 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 第一阶段通过vimtutor的学习,加强vim的熟练度 1.1光标移动 hjkl左 ...
- 4.2 会议室预定系统,ajax参数(未完成)
参考blog https://www.cnblogs.com/alice-bj/p/9191082.html https://www.cnblogs.com/yuanchenqi/articles/7 ...
- NOIP2017提高A组模拟10.6】Biology
题目 trie 暴力就是对于每个询问的T个字符串 第i个和第i+1个直接个从后暴力枚举每位是否相同, 但这个方法TLE 我们考虑是否可以用更快的方法来求出两个字符串的最长公共后缀. 我们把所有的字符串 ...
- 随机验证码生成和join 字符串
函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符) ...
- Windows环境下MySQL面试技巧
对话一: 面试官:重新安装mysql卡在最后一步,怎么解决? 应聘者:第一次安装完mysql,由于各种原因需要重新安装是经常遇到的问题,解决方案如下. 1)在注册表里搜索my ...
- 上传文件夹 vue
ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...
- android 支持发送空短信
method:A) AP端修改:1.将ComposeMessageActivity.java 中的 isPreparedForSending() 作如下修改(删掉的code也可以注释掉)private ...
- Apicloud_(项目)网上书城02_后端数据获取
Apicloud_(项目)网上书城01_前端页面开发 传送门 Apicloud_(项目)网上书城02_后端数据获取 传送门 Apicloud_(项目)网上书城03_拓展模块实现 传送门 ApiClou ...
- Java中的Unicode与码点
Java中,可以用\uXXXX表示Unicode字符,例如String s = "\u00X1";XXXX必须为4位,因此码点为U+1D546的字符,需要用两个编码单元表示,例如S ...
- 分布式-信息方式-ActiveMQ基础
ActiveMQ简介 ActiveMQ是什么ActiveMQ是Apache推出的,一款开源全支持JMS.1和J2EE1.4范的JMS Provider实现的信息中间件.(message oriente ...