安装显卡驱动
最近为了研究深度学习所以需要安装一个深度学习的环境,弄了一个星期,重装了10次电脑总算是弄好了,虽然还有很多不明白的地方,不过整个流程基本上是熟悉了。安装过程中看了很多网上的教程,没有一个是可以正常安装好的。其实我第一次安装就成功了,测试程序也跑起来了,GPU运算速度很快,但是一重启就懵逼了。。。。。。因为我使用的电脑是双显卡intel核显以及Nvidia GEFORCEGTX960M显卡(双显卡的电脑应该还是很多的),所以很容易出现各种驱动问题,一般问题会导致三种情况:
1.启动后电脑黑屏,不能进行任何操作(可能还有救)。
在grub界面选择要登录的系统按“e”,进入编辑界面,在倒数第二行末尾加入acpi_osi=linux nomodeset,具体操作可以上网查。
2.启动后电脑黑屏但是可以通过CTRL+ALT+F1(我的电脑是CTRL+ALT+F4)进入命令行模式(可能还有救)。
删除所有nvidia,sudo apt-get remove nvidia*,然后重启。
3.进入登录界面,然后不断地让你登录,一直登录不进去,进入命令行也一直闪烁(可能没救了)。
我用的是DELL电脑,GPU是GEFORCE GTX960M,大家的GPU比我的新或者差不多应该就没问题。
下面为了能让新手“比较顺利”的安装,尽量把一些可能出现的问题也尽量写出来,好了,现在开始。
(a)首先安装好Ubuntu16.04,然后先安装一些依赖
sudo apt-get update
sudo apt-get install libprotobuf-dev libleveldb-devlibsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommendslibboost-all-dev
sudo apt-get install libopenblas-dev liblapack-devlibatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-devliblmdb-dev
sudo apt-get install git cmake build-essential
(b)安装好之后需要禁用nouveau,创建/etc/modprobe.d/blacklist-nouveau.conf,
Sudo su
cd /etc/modprobe.d
gedit blacklist-nouveau.conf
(也可以 2.3 nautilus 作用:新建一个具有管理员权限的文件窗口(默认位置是根目录,须配合sudo命令),可以在此窗口中在任意位置粘贴、创建、修改文件或对任意位置的已有文件进行修改、删除、移动操作。举例:sudonautilus,这个命令之后就是鼠标操作,就执行效果而言,等效于cp、mk、vi、remove的命令操作;是命令与鼠标结合完美的典范,是对辩证法对立统一的完美诠释。)
写入:
blacklist nouveau
options nouveau modeset=0
然后sudoupdate-initramfs -u
修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau 如果没有禁用,会出现一些信息,其中nouveano的颜色是红色的,如果禁用了,则什么都不显示
(c)配置一些基本的环境变量
sudo gedit /etc/profile
加入:
exportLD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
然后输入Source /etc/profile
使/etc/profile里的配置立即生效
到这里之后有些教程会让我们上NVIDIA官网上看我们的GPU型号应该用什么版本的驱动,其实不需要
另外有些教程会让我们把gcc和g++版本降低,比如降低为gcc-4.9和g++-4.9,我建议最好不要,后面会出错
(d)然后我们需要下载CUDA(https://developer.nvidia.com/cuda-downloads),这个网址
(e)安装cuda有点讲究
下载完成后重启电脑,在出现登录界面时,登录tty1,按Ctrl + Alt + F1,在文本模式中登录
关闭桌面服务sudo servicelightdm stop。这步对于安装Nvidia驱动至关重要
进入下载cuda文件的目录执行:
sudo sh cuda-8.0.44_linux.run --no-opengl-libs
如果不加--no-opengl-libs应该是会出现循环登录问题
安装过程中完全按照它的指引就可以了,大概是
Accept EULA conditions
Say YES to installing the NVIDIA driver
Say YES to installing CUDA Toolkit + Driver
Say YES to installing CUDA Samples
然后重启,这个时候应该没有循环登录问题,可以正常进入桌面了
(f)修改环境配置
sudo gedit /etc/profile
export PATH=/usr/local/cuda-8.0/bin:$PATH
exportLD_LIBRARY_PATH=/usr/local/cuda8.0b64:$LD_LIBRARY_PATH
在终端输入
使/etc/profile里的配置立即生效
(g)测试CUDA的sammples:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果看到一些GPU的信息说明安装成功
更改分辨率(我安装完上述步骤之后,发现笔记本的分辨率有问题,只有800*484,所以我按照网上的提示进行了修改)
ubuntu 安装cuda8.0后,分辨率无法正确显示的解决方案
退出图形界面,按ctrl+alt+F1进入命令行终端。
sudo mv/etc/X11/xorg.conf /etc/X11/xorg.conf.backup
sudo touch/etc/X11/xorg.conf
reboot 重启即可
2.配置cuDNN
cuDNN是GPU加速计算深层神经网络的库。
(b)下载cuDNN5.1之后进行解压,cd进入cuDNN5.1解压之后的include目录,在命令行进行如下操作:
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
(c)再将cd进入lib64目录下的动态文件进行复制和链接:
sudo cplib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
sudo ldconfig
[global]
device=gpu
floatX=float32
root=/usr/local/cuda-8.0
[nvcc]
fastmath = True
[blas]
ldflags = -lopenblas
[cuda]
root = /usr/local/cuda-8.0
如果出现下面的错误信息,请运行命令sudo ldconfig /usr/local/cuda-8.0/lib64参考
#错误信息
ERROR (theano.sandbox.cuda): Failed to compilecuda_ndarray.cu: libcublas.so.7.0: cannot open shared object file: No such fileor directory
参考:
ubuntu14.04theano nvcc compiler not found on $PATH
Ubuntu-安装-theano+caffe-超详细教程