zoukankan      html  css  js  c++  java
  • Caffe初试(一)win7_64bit+VS2013+Opencv2.4.10+CUDA6.5配置Caffe环境

    折腾了几天,终于在windows系统上成功配置了Caffe环境,期间遇到了很多问题,每个问题的解决也都花了不少时间,查过挺多资料,感觉挺有意义,这里写篇博客记录一下。

    原来我使用的CUDA版本是7.5,参照win7环境下CUDA7.5的安装、配置与测试(VS2010) 辛辛苦苦编译生成了caffe.exe,愣高兴了一晚,结果当我用caffe对手写字体库mnist进行训练时,悲剧了!运行时出现

    CUDA driver version is insufficient for CUDA runtime version.

    意思就是你的显卡驱动版本与CUDA的版本不匹配,直接一点就是你的显卡太辣鸡了!不适合这么高版本的CUDA。

    我一看,完了,太冲动了,辛辛苦苦编译完caffe.exe,还没能用上,就出现致命的问题!第一时间就是想着怎么补救,将问题抛给百度,顺道爬墙去了google,给的答案基本都是将显卡驱动升级至最高版本或者是卸载CUDA7.5,或一个与你的显卡驱动能匹配的CUDA版本。我自己的电脑,我是知道的,用着学校实验室批发回来的电脑,显卡肯定是不行的,而且驱动已经是最新版本。想到这,我又开始怀疑,可能我电脑的显卡根本就不支持CUDA。越想越着急,我下定决心要把这件事弄清楚!下面正式开始!

    一、VS2013的安装

    现在visual Studio已经免费了,微软真的是体恤中国的科研人士,致敬!安装在这里就不多提了,官网上下载就好,还有中文版的-。-

    二、Opencv2.4.10的安装

    开源计算机视觉库,现在已经更新到3.0了,我比较传统,还在使用2.4.10,下载和安装也不多提了-。-

    三、CUDA的安装

    检查显卡


     首先最重要的一点是,你得确认你的显卡是否支持CUDA。CUDA是NVIDIA厂商推出的运算平台,如果显卡厂商不是NVIDIA,那么,我“不负责任”地说,CUDA不适合你的电脑,到别处玩沙去吧!(或许已经有其它厂商制造的显卡支持CUDA了,但绝大部分,都不支持)。如果你的显卡是N卡,也没急着偷笑,因为太老的N卡也是要去边上玩沙的。

    我的机器的基本配置:

    • 处理器 intel i3-2120
    • 内存 8GB
    • 显卡 NVIDIA GeForce 405 OEM  512MB
    • 系统 Windows7 64bit

    配置很差吧,我都懒得港-。-!

    首先可以在NVIDIA的官方网站查看显卡是否在支持的列表中。下面我截了两幅图,为了图文并茂而已,而且也只是部分。

    我在这上面没查到我的GeForce 405,心想完了,科研举步维艰啊!后来又想,可能我这个显卡年代过于久远,人家懒得在列表里列出来,况且您好我截了两张图都还没列全呢!后来我不断查资料时,发现有博主说,上面那个表不是特别全,然后给了一个NVIDA的硬件设备网站,说是可以在上面查看是否支持!就是这个链接——>点我

    还有的说法是说GPU-Z也可以查看是否支持,

    不过听说这个软件有时会失准,所以最好还是查看硬件的支持信息。

    开始安装


     看来我的显卡还是支持CUDA的,接下来就要选一个合适版本的CUDA了。那怎么知道我的显卡支持的CUDA最高版本是哪一个呀?为此我又百度了很久,终于功夫不负有心人,在一个论坛的网友提问中找到了答案。

    有时真的是感慨互联网搜索功能之强大!你遇到的问题,基本上都会有人遇到过并解决!

    于是乎,我就打开了NVIDIA控制面板,找到了NVCUDA.DLL信息显示栏,截图如下:

    看来我的显卡支持的CUDA最高版本只到6.5,现在都出到8.0了,再次感慨电脑配置之差!

    下载了正确的CUDA版本,安装便是,在这里提醒两点:

    1、不要选择精简模式安装,而是全部安装,因为选择精简安装后,SDK包是默认不安装的,但是实际使用时,是要用到SDK中的内容的。

    2、在安装过程中,提示:"This graphics driver could not find compatible graphics hardware....",一定不要点“继续”,如果点了,后续你就会遇到开头我说的那种问题,所以,一定慎重!

    CUDA driver version is insufficient for CUDA runtime version.

    所以安装CUDA之前,一定一定要确定好你的显卡支持的最高版本,尤其是那些显卡老旧的人(最新换的显卡就无所谓啦,装个最高版本的,妥妥的!)

    验证CUDA是否安装完成并能使用


     安装完之后,得确认是否安装正确,打开命令提示框cmd,输入命令“nvcc -V”,如果安装正确,会显示下面的结果:

    显示CUDA的版本是V6.5.13。

    当然,这只是表明你安装CUDA正确,但并不表示能用,要验证是否能用,还需使用到CUDA提供的例子。

    1、在例子的安装目录下,找到解决方案的名字。比如我的例子的安装路径是

    C:ProgramDataNVIDIA CorporationCUDA Samplesv6.5

    然后在

    C:ProgramDataNVIDIA CorporationCUDA Samplesv6.51_Utilities

    下,找到bandwidthTest文件夹下的bandwidthTest_vs2013.sln ,有几个不同版本的解决方案,我使用的是vs2013,所以选择这个。

    2、开始编译,运行生成控制台程序如下:

    看到Result=PASS 就可以安心了。

    还有一个例子是deviceQuery文件夹下的deviceQuery_vs2013.sln ,编译后运行的结果如下:

    同样,看到Result=PASS 就可以放心了!

    到这里,CUDA确定是可用了,可以起身抽支烟放松放松~

    四、caffe环境的配置

    我配了几次caffe环境,每次都是参照这个博文里的步骤配置的http://blog.csdn.net/chenqibob/article/details/52135614

    虽然使用的是CUDA7.5,但步骤是一致的,参考的时候注意路径、环境变量、依赖库、包含目录、库目录等问题即可!

    遇到的问题:

    1、出现“应用程序无法正常启动(0xc000007b)”

    可能是因为:

    a.需要把./3rdparty/bin的路径加入到系统环境变量Path中;

    b.之前使用的opencv是win32位的,而caffe使用的Release是64位配置的,因此在环境变量中既要配x86的opencv的vc12in,也要有x64的vc12in。

    2、在使用CUDA6.5版本生成解决方案后,编译时,出现:

    【conv_layer.cu】 错误 78 error: too few arguments in function call

    点击这个错误,定位到错误行

    在某论坛上看到的解决方法是在最后加入第四个参数“false”,即更改为

    重新编译后,该错误消失。

    3、在使用CUDA6.5版本编译时,遇到了一个问题:

    CUDA fatal error "Invalid device function "

    出现这个问题,说明你的gpu超荷载了,你得查查自己的gpu的计算能力,怎么查呢?我用的是GPU-Z查看的,

     我的gpu的计算能力为1.2(极低!),但我参照博客配置时,在code Generation中使用的是compute_20,sm_20,所以一直出错,后来按照自己的计算能力,更改一下就编译通过了!

     

    另外我想补充的是以下几点:

    1、CUDA的用处:目前随着硬件技术的进步,常使用GPU(Graphics Processing Unit,图形处理器)来进行神经网络算法的训练及实现。GPU计算的基础是Nvidia的CUDA环境。

    2、Caffe的主版本(caffe-master)只支持Linux,所以要下载专门的caffe windows版本。

    3、Caffe的编译需要第三方库的支持,3rdparty即为所需的第三方库,通常包括了:

      a.boost函数库,下载地址是http://www.boost.org/ ,下载需要的版本库。

      b.Opencv开源计算机视觉库,到官网下载就好。

      c.OpenBlas,是一个高性能的多核BLAS(Basic Linear Algebra Subprograms,基础线性代数子程序库),下载地址是http://www.openblas.net/ ,注意要下载64位的window版本。

      d.glog是google的开源API,但是google是上不去的,翻墙吧-。-

      e.levelldb,也是谷歌的开源库,下载地址也在google上,不过这里有个链接可以直接下载https://leveldb.googlecode.com/archive/windows.zip

      f.protobuf,也是谷歌的开源库,下载地址也在google上,在百度云找到一个版本http://pan.baidu.com/s/1pJlZubT

     

    参考博客:

    1、在Windows8.1上安装CUDA (【检查显卡】参照内容)

    2、CUDA7.5安装和vs2013配置 (【安装CUDA】参照内容)

    3、Win7_64bit + VS2013 + CUDA7.5 + Opencv2.4.10 成功配置Caffe环境(【配置caffe环境】参照内容)

    4、配置Caffe+VS2013+CUDA 6.5+Windows 8.1 64位系统(【遇到的问题之2】参照内容)

    5、cuda-convnet在Windows下的使用 错误(error:invalid device function) (【遇到的问题之3】参照内容)

    感恩!

    以上。

  • 相关阅读:
    006——VUE中的内容与属性中使用javascript表达式的方法
    005——VUE中的v-text与v-html的使用
    Source Insight 4.0 文件类型、编码格式、tab转空格、tab键自动补全设置。。。
    1-安装MQTT服务器(Windows),并连接测试
    Windows环境下搭建MosQuitto服务器
    c语言条件编译#ifdef与#if defined
    source insight 保存时删除多余空格,去除多余空格 space tab键
    环形数组逆向遍历
    电脑破解wifi密码(至少连过1次的才可以)
    cJSON结构体构建
  • 原文地址:https://www.cnblogs.com/codingmengmeng/p/6165917.html
Copyright © 2011-2022 走看看