深度学习框架Theano利用GPU加速

作者: MrGiovanni | 来源:发表于2016-04-08 11:52 被阅读2614次

    Author: Zongwei Zhou | 周纵苇
    Weibo: @MrGiovanni
    Email: zongweiz@asu.edu


    Please cite this paper if you found it useful. Thanks!
    Wang H, Zhou Z, Li Y, et al. Comparison of machine learning methods for classifying mediastinal lymph node metastasis of non-small cell lung cancer from 18F-FDG PET/CT images[J]. 2017, 7.


    Reference.


    说明一下:我的配置环境是Windows 7,显卡类型NVIDIA GeForce GTX 960M,Python版本为64位的2.7.11, CUDA版本为7.5.1,Visual Studio版本为VS2012

    天才第一步:检查一下你的电脑是否有NVIDIA系列的显卡,没有的话就别往下看了。深度学习的GPU加速只支持NVIDIA系列的显卡。

    检查步骤:右键计算机-属性-设备管理器(左上角)-显示适配器

    用GPU的理由很简单,就是,特别是深度学习的实验,用CPU的话一天两天的在那儿训练,根本没办法愉快地调参,用GPU的话可能就几个小时完事儿了。


    1. 下载

    1.1 下载安装Theano

    参考这个:Keras深度学习框架配置
    简单来说就是先把Python(我用的是Anaconda)安装好,然后在Anaconda Prompt命令行中输入pip install theano,回车,接着输命令conda install mingw libpython,回车。然后。。

    按照1.2.3做,Theano就安装好喽

    1.2 下载CUDA

    http://www.nvidia.cn/object/cuda_get_cn_old.html 下载驱动、工具包、软件开发包,按顺序安装。最后一项的CUDA安装请看1.3 CUDA安装!!!

    按顺序安装!

    1.3 CUDA安装

    1.3.1 cuda的安装文件
      


      直接双击exe文件,弹出后,首先会监测一下你的运行环境,如果找不到Nividia对应的显卡设备,他会提示你是否要继续安装。这里面nvidia的显卡,最起码也是8800以上的,要不是无法编写CUDA的。千万不要电脑上面是intel或者AMD的显卡,却要编写cuda,除非你有钱买一个cuda-x86这个编译器。
    1.3.2 弹出的对话框直接OK就行,这个是CUDA的一些安装文件,无所谓的

    1.3.3 他会监测你的电脑是否支持cuda的搭建,等待就行

    1.3.4 系统检查:这儿会有可能报错哦

    遇到报错的话请跳转到1.3.彩蛋,那儿有提供解决方法。


    1.3.5 选择同意并继续

    1.3.6 推荐先选择自定义安装
    最主要的是cuda document\cuda Toolkit \cuda samples(SDK),Nsight\图形驱动程序,3D如果需要的话安装,不安装也无所谓。这里主要就是能看见都有什么,免得漏掉了,博主当初就因为选了精简安装,没安装上SDK。
    1.3.7 安装的位置,推荐自己建三个好找的文件夹,不用他默认的路径,免得稍后配置环境变量麻烦。
    默认的乱七八糟的安装位置,不要它们 这是我设的地址,反正就是简洁就好了
    1.3.8 下一步安装就行了。至此,cuda的安装就搞定了

    1.3.彩蛋

    报错:NVIDIA installer cannot continue.

    NVIDIA Installer cannot continue.

    不要慌,这是个大问题。先去把你的NVIDIA显卡驱动更新一下,确保是最新的。

    方法是:去设备管理器,找到显示适配器的NVIDIA那儿,右键,选择更新驱动程序软件

    然后按照这个方法:完美解决NVIDIA最新显卡驱动无法找到兼容的图形硬件,就可以解决这个错误了。


    2. 配置文件

    打开cmd命令行界面,输入nvcc -V,回车,如果出来这个版本号,说明前面的步骤成功啦。

    nvcc -V

    然后可以看到cmd的默认地址

    Paste_Image.png
    我的是C:\Users\Administrator,去电脑上找到这个位置,新建一个txt文件,将它命名为“.theanorc.txt”,在里面要写一点代码,我目前写的是:
    [blas]
    ldflags = 
    [gcc]
    cxxflags = -IC:\MinGW\include
    [nvcc]
    flags=-LC:\Users\Administrator\Anaconda2\libs
    compiler_bindir=E:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin
    [global]
    device=gpu
    floatX=float32
    

    解释一下:根据你的自身情况需要修改的是

    • cxxflags这句,“-I”保留,后面是MinGW\include的系统位置,对了,如果你没有装MinGW,那,,就赶紧装一个呀,下载地址:
      http://www.mingw.org/
    摁这个下载,然后一直下一步下一步就好了

    你会发现下载完的C:/MinGW/里面并没有include这个文件,那么就打开MinGW的安装管理界面,如下图

    选中这里所有的框

    将右侧所有的小方块全部选中(右击->mark for install),然后选择Installation菜单的apple changes,等待下载安装完成即可,include文件就出来啦。

    • flags这句,路径指向你的anaconda的libs地址,当然如果你装的是python,那就指向python的libs地址。
    • compiler_bindir这句,指向VS的bin,这儿不多说了。

    我大概觉得这是在配置吧,反正当python导入theano的时候回去运行这个txt文件。你可以去Anaconda Prompt界面输入python,回车,import theano,回车,看看结果,应该会有显示用到了GPU。
    然而并没有这么简单,我这儿开始报错了:


    错误原因是:CUDA和Visual Studio的版本不符,我这儿测试通过的版本分别是

    CUDA7.5.17和VS2012

    你懂得,再装一个VS呗,哈哈,没那么简单,CUDA和VS的安装顺序呢,是先装VS,再装CUDA,因为在安装CUDA的时候会自动检测电脑里面的VS,如果你是后装的话,检测不到咯,白费。所以遇到了这个问题就先装一个版本对的VS,然后再装一遍CUDA。


    刚刚试了一下GPU,快的吓了我一跳,这么说吧、

    原来、
    训练一趟2.8小时、
    现在
    训练一趟89秒、

    快的飞起、我去!
    当然跟我的NVIDIA GeForce GTX 960M显卡、
    也是分不开的。:)


    祝一切顺利

    相关文章

      网友评论

      • ec29a5055dc3:请问VS2015可以吗
        ec29a5055dc3:@MrGiovanni 谢谢 :)
        MrGiovanni:@果珍冰 我没有试过2015 但是我确定2013是不能的,你可以去装一个2012,一台电脑可以同时装好几个vs呢

      本文标题:深度学习框架Theano利用GPU加速

      本文链接:https://www.haomeiwen.com/subject/bzsvlttx.html