前言
最近在鼓捣深度学习,接触到一个非常好的库Theano,在学习过程中得知使用GPU进行计算要比CPU快很多,想到我当初为了玩游戏而砸的N卡GT 750M到现在都还闲着,所以就索性将其废物利用,花一下午时间安装好了cuda,将其投入实际生产工作中。后来发现,原来安装cuda还有一个副作用就是它顺便就把N卡的驱动给装好了,以前我的笔记本因为N卡驱动的问题挂过不少次,这样一来倒省了很多心,算是意外收获吧。
Theano 和 BLAS 安装
安装 OpenBLAS 和 OpenLAPACK
在安装BLAS库之前,笔者在ATLAS和OpenBLAS间犹豫了一会儿,网上的评测基本上两者表现半斤八两,但都比cBLA好得多。但后来在Theano的安装说明中发现,使用ATLAS会有一些问题,并且推荐使用OpenBLAS。OpenBLAS比较适合Linux系统,而且安装也很方便,又是开mian源fei的,所以笔者选择了OpenBLAS。那些能够用得起MKL的土豪可以绕道了。
$ sudo apt-get install libopenblas-dev
系统会自动安装OpenBLAS和OpenLAPACK,并将默认blas库指向它们,可以使用
$ sudo update-alternatives --config libblas.so
进行查看,比如笔者的配置即为
有 2 个候选项可用于替换 libblas.so (提供 /usr/lib/libblas.so)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/openblas-base/libblas.so 40 自动模式
1 /usr/lib/libblas/libblas.so 10 手动模式
2 /usr/lib/openblas-base/libblas.so 40 手动模式
安装Theano
$ pip install Theano
系统会自动安装并编译Theano依赖的 numpy, scipy, noise 库等,并将OpenBLAS库同numpy, scipy连接
进入python界面,输入:
>>> import numpy
>>> numpy.__config__.show()
可以查看numpy现在的blas库配置
安装 CUDA
一切安装过程以官网教程为准,能够读懂英文一定要先去读。推荐使用deb包进行安装,省时省力。需要注意的是,要严格按照官网的说明选择正确的版本。
准备工作
- 下载对应的 CUDA 安装包: 笔者使用的是笔记本是Intel x86_64 CPU,Ubuntu 15.10系统,所以按照官网指示,下载了 cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb。
- 安装系统编译环境:CUDA 需要在本地编译安装,依赖于 gcc/g++/gfortran
- 配置系统编译环境:CUDA 7.5 对 Ubuntu 15.10 支持的 gcc/g++ 为 4.9 以内的,而笔者系统 gcc/g++为最新的 5.2,导致最初安装时出错,所以需要将默认编译器手动置为 gcc/g++ 4.9:
$ sudo update-alternatives --config gcc
$ sudo update-alternatives --config g++
安装过程
$ sudo apt-get update
$ sudo apt-get install cuda-7.5
安装后调试工作
安装完成后在 /usr/local/ 下会出现 cuda 和 cuda 7.5 两个文件夹,说明安装成功,并且驱动也一并安装好了
但系统要调用 nvcc 还需要将其加入系统的 path 。CUDA 的安装说明中使用 export 进行更改,然而这只是暂时将其路径加入 path 和 LD_LIBRARY_PATH,所以