您的位置:首页 > 其它

deep CNN, Theano和CUDA学习笔记

2016-03-05 07:00 218 查看
0. 若想要在GPU上使用Theano来运行深度卷积神经网络(deep CNN),请使用anaconda,请使用anaconda,请使用anaconda。这点非常重要,因为anaconda里面将python,numpy,scipy,theano都整合得很好。有自己配备的命令行用来更新自己的版本,也就是里面的python,numpy,scipy,theano的版本。

0.1 首先先安装Anaconda,下载一个*.sh文件,然后用bash命令运行即安装它。为了不影响其它用户,避免用sudo方式来安装软件,而应该用编译运行的方式来安装。

0.2 安装好Anaconda后,用conda的create命令(还有biopython程序)来新建一个新的(虚拟)环境,在这个环境内,使用的theano就是conda里面的theano,而和外界的theano, numpy, scipy都没关系,使用source activate命令进入这个环境,source deactivate命令退出环境。

0.3 有了Anaconda之后还需要在/home/user_name/下面有一个.theanorc,是你自己的theano的配置文件,决定theano用哪一个GPU,用哪一个版本的cuda-tool-kit。

0.4 一般还需要在/home/user_name/下面有一个.bashrc,这个是配置环境变量的文件,主要是让你的python脚本知道该用哪一个python和theano来运行,比如应该是Anaconda里面的,所以安装Anaconda的时候,conda会提醒你把它的路径写入.bashrc。

0.5 之后为了保险起见,用nosetests theano命令来测theano,测之前记得将.theanorc里面的device改为cpu,不然会出来好多错。但是好慢,比tutorial说的30分钟还要慢。估计要一个小时。

1. 主干学习材料是“Deep learning Tutorial 0.1 documentation”。通过谷歌搜索“deep learning tutorial”得到的第一个结果就是。学习用的例子是MNIST手写字体识别,然后分别用Logistics Regression, Multi-Layer Perception和(deep)CNN来求解。使用Theano实现。其中对于deep
CNN,提供如何使用NVIDIA的GPU来实现。本文主要记录一些比较散落,但是不易记忆的实践经验。(但注意:该学习材料中,分别安装python,numpy,scipy,theano,再安装cuda-tool-kit,然后再配置cuda-root等路径,非常麻烦。主要是在与其它用户共享一台服务器时,为了避免影响到其它用户的工作环境,配置环境,处理版本依赖,十分棘手。如果一个人独享服务器,把服务器当作pc机来用,自然可以很方便地用sudo来配置各种软件)

2. cuda的安装目录是/usr/local/cuda-7.5/

3. cuda安装好后,还需要在Theano上进行配置,将Theano和cuda联系起来。关键就在于告诉Theano,cuda的安装目录在哪里,这样Theano才可以使用cuda。

4. Theano的配置文件在/home/user_name/.theanorc,没有的话自己创建一个。

5. GPU的信息在cat /proc/driver/nvidia/gpus/0000\:01\:00.0/information可以看到,倒数第二个目录名字不一定,其他目录大致固定。

6.查看GPU使用情况,可用nvidia-smi命令,显然用于NVIDIA的GPU;还有nvidia-smi
-i 0 -q命令,可以查看id为0的gpu的详细信息,十分详细。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: