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

上一篇:《Android进阶之光》--多线程编程


下一篇:【神经网络与深度学习】转-caffe安装吐血总结