【神经网络与深度学习】【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配置过程说明的更多相关文章

  1. 【神经网络与深度学习】【Qt开发】【VS开发】从caffe-windows-visual studio2013到Qt5.7使用caffemodel进行分类的移植过程

    [神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置成功后的第一次训练过程记录<二> 标签:[神经网络与深度学习] [CUDA开发] ...

  2. 【神经网络与深度学习】【Matlab开发】caffe-windows使能Matlab2015b接口

    [神经网络与深度学习][Matlab开发]caffe-windows使能Matlab2015b接口 标签:[神经网络与深度学习] [Matlab开发] 主要是想全部来一次,所以使能了Matlab的接口 ...

  3. 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程

    [神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...

  4. 【神经网络与深度学习】【VS开发】【CUDA开发】VS2013 配置CUDNN V4 DEMO

    VS2013 配置CUDNN V4 DEMO 众所周知,当前主流深度学习的实现中调用的底层API都是cudnn,自己做项目需要开发深度学习模块时,也需要调用cudnn库,因此熟悉cudnn库是很有必要 ...

  5. 【神经网络与深度学习】【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 ...

  6. 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试

    [神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...

  7. 13本热门书籍免费送!(Python、SpingBoot、Entity Framework、Ionic、MySQL、深度学习、小程序开发等)

    七月第一周,网易云社区联合清华大学出版社为大家送出13本数据分析以及移动开发的书籍(Python.SpingBoot.Entity Framework.Ionic.MySQL.深度学习.小程序开发等) ...

  8. [DeeplearningAI笔记]神经网络与深度学习人工智能行业大师访谈

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 吴恩达采访Geoffrey Hinton NG:前几十年,你就已经发明了这么多神经网络和深度学习相关的概念,我其实很好奇,在这么多你发明的东西中 ...

  9. (转)神经网络和深度学习简史(第一部分):从感知机到BP算法

    深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...

随机推荐

  1. C++关于构造函数 和 析构函数 能否抛出异常的讨论

    构造函数和析构函数分别管理对象的建立和释放,负责对象的诞生和死亡的过程.当一个对象诞生时,构造函数负责创建并初始化对象的内部环境,包括分配内存.创建内部对象和打开相关的外部资源,等等.而当对象死亡时, ...

  2. 前端有用JavaScript技巧

    数组去重 //法1 var arr = [1, 2, 3, 3, 4]; console.log(...new Set(arr)) // [1, 2, 3, 4] //法2 function SetA ...

  3. 对组件、Prop 和 State的研究-----------------引用

    组件 第一步是将 UI 分解成多个组件.例如,我们可以这样来拆分房子: 现在来编码! House:  <div>    <Roof />     // 房顶    <Wa ...

  4. 基于MaxCompute InformationSchema进行血缘关系分析

    一.需求场景分析 在实际的数据平台运营管理过程中,数据表的规模往往随着更多业务数据的接入以及数据应用的建设而逐渐增长到非常大的规模,数据管理人员往往希望能够利用元数据的分析来更好地掌握不同数据表的血缘 ...

  5. OpenCV笔记(6)(harris角点检测、背景建模)

    一.Harris角点 如上图所示,红色框AB都是平面,蓝色框CD都是边缘,而绿色框EF就是角点. 平面:框往X或Y抽移动,变化都很小. 边缘:框沿X或Y轴移动,其中一个变化很小,而另外一个变化比较大. ...

  6. QT Creator 添加Lib库

    LIBS += -LD:/Path/ -lTest1.lib -lTest2.lib 解析:在路径D:/Path/ 下 添加Test1.lib Test2.lib库 -L 和小写'-l"没有 ...

  7. 11、LineEdit与setCompleter自动补全

    #include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug>//引入打印 ...

  8. Python Internet 模块

    Python Internet 模块 以下列出了 Python 网络编程的一些重要模块: 协议 功能用处 端口号 Python 模块 HTTP 网页访问 80 httplib, urllib, xml ...

  9. 51 Nod 1020 逆序排列

    1020 逆序排列  基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么 ...

  10. 成功解决internal/modules/cjs/loader.js:596 throw err; ^ Error: Cannot find module 'minimatch'

    成功解决internal/modules/cjs/loader.js:596 throw err; ^ Error: Cannot find module 'minimatch' 解决办法 npm i ...