1.安装ubuntu16.04
2.安装NVIDIA驱动
到NVIDIA下载对应版本的驱动
在终端执行:
sudo sh NVIDIA-Linux-x86_64-378.13.run
结果出现了错误,如下图
解决办法:
(1)按Ctrl+Alt+F1,然后按照提示登录;
(2)输入:
sudo service lightdm stop
或者
sudo lightdm stop
杀死当前X server session
提示输入密码。
(3)输入
sudo init 3
进入完全多用户模式
(4)在保存驱动文件路径下执行驱动文件
sudo sh NVIDIA-Linux-x86_64-378.13.run
据说安装时拔掉网线,因为系统探测网络要花时间。
然后按照提示完成安装。
(5)安装成功后,输入
sax2 -r -m 0=nvidia
配置驱动,调整分辨率,保存。
(6)输入
reboot
重启。
3.安装CUDA
安装时按照步骤2的方式,在第(4)步时输入:
sudo sh cuda_8.0.61_375.26_linux.run
后,屏幕左下边出现%的进度条,按回车一直到100%.
出现如图:
这里要非常注意的一点是:在accept后,提示:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: n
不管是哪个版本的Driver,这儿一定要输入n。如果输入y,则会覆盖第二步安装的驱动。我第一次输入了y,后边就出问题。
最后出现下图就表示安装成功了。
如果不小行输入y怎么办。如下图:
按照提示信息:
To uninstall the CUDA Toolkit, run the uninstall scrip in /usr/local/cuda-8.0/bin #卸载CUDA
To uninstall the NVIDIA Driver, run nvidia-uninstall#卸载驱动
上图提示还有一个问题,
Missing recommended library: libGLU.so
Missing recommended library: libX11.so
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
解决办法:安装相应的库就行,
sudo apt-get install freeglut3-dev build-essential libx11-dev
sudo apt-get install libxmu-dev libxi-dev libgl1-mesa-glx
sudo apt-get install libglu1-mesa libglu1-mesa-dev
虽然安装成功,但还差一步,上图还提示了一个信息:
所以,我们要添加这两个路径到环境变量中,输入:
gedit ~/.bashrc
在最后输入:
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
命令行输入:
nvcc --V #检测是否成功安装,如果输出版本号则表示安装成功
然后我们在终端输入:
nvidia-smi
可以看到:
当然还要测试一下,参考
这篇文章
检查我的都是5。
输入:
cd /usr/local/cuda/samples
sudo make all -j4
cd /usr/local/cuda/samples/bin/x86_64/linux/release
sudo ./deviceQuery
然后
显示PASS
到此CUDA安装成功。
4.安装KERAS,theano GPU加速
安装keras
输入:
conda install keras
会自带theano下载。
参照theano 文档theano文档
使用conda list查看相应的库有没有安装上,没有的话,自行安装。
文档中提到:
第一条已经在第二步完成;
第二条其实是第二步中添加到环境变量中的第二条;
第三条选最后一种办法,就是下边的theano配置文件中的[cuda]的内容。
因为keras默认是tensorflow后端,所以我们要修改后端。
在终端输入:
gedit ~/.keras/keras.json
如果没反应,前边加一个sudo
sudo gedit ~/.keras/keras.json
打开keras后端配置文件,
修改为
打开spyder,
import theano
结果没有显示GPU
发现还有个theano的配置文件没写,在终端输入:
sudo gedit ~/.theanorc
打开theano配置文件:
输入以下内容
在一次打开spyder,导入theano,出现GPU,但是又有问题:
Theano: CNMeM is disabled, CuDNN not available
对于 CNMeM is disabled,是因为在theano的配置文件里没写关于GPU内存的内容。则写入:lib就行
关于cnmem后的内容,如果写零点几,表示站内存的百分比:
如果写几百的话,表示直接分配多少M内存。写1可能会发生错误。
对于CuDNN not available,还差一步:
到NVIDIA官网上下载cudnn,要填问卷,注册,然后根据自己的电脑配置,下载相应的cudnn,下载后解压出一个cuda的文件夹,里边有两个文件夹,include 和 lib64,然后分别将里边的内容复制到安装cuda的相应文件夹,在终端输入:
sudo cp ~/cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp ~/cuda/lib64/libcudnn* /usr/local/cuda/lib64/
现在打开spyder
跑一个keras例子:
成功!