说明,本文不但适合Ubuntu14,同样适合Ubuntu16,在Ubuntu14之上测试好用之后,在Ubuntu16上面再次测试好用,配置方式一样
最近组里面的服务器本来好好的,不知道怎么抽风配置全部不好用了。只有我来自己安装一遍了,真是怕什么来什么
1.首先说系统安装--Ubuntu
起初安装的Ubuntu16,不知道怎么回事儿,中间始终安装不成功,始终报一个ERROR,还打不开图像界面,网上也查不到,最后就放弃16这个版本的,改装14.04版本。这回是一路顺畅,
- 可是在安装完之后,出现一个ERROR,大体意思是:update过期,这个简单,网上的解决方案是直接更新即可。
- 进入tty界面(纯文字界面)黑屏,进入文字界面的快捷键:Ctrl+Alt+(F1 或 F2 或 ...... F6),网上有说这是虚拟界面,一共有6个,文字界面的作用是关掉其他进程,图形界面Ctrl+Alt+F7,黑屏的解决方案是:vi /etc/default/grub 将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 值修改为"nomodeset"
2.安装NVIDIA驱动
- 保证你的驱动具有操作权限,在驱动路径下,键入: sudo chmod 755 NVIDIA-Linux-x86_64-375.25.run
- 再进入tty界面,保证所有进程都全部关闭,因为有进程用到显卡的话,就不能成功安装。
- Ctrl+Alt+F1计入tty模式
- 键入:sudo /etc/init.d/lightdm stop
- 键入:sudo /home/NVIDIA.run(你的NVIDIA驱动)
- 键入:sudo reboot(重启)
- 如果安装过程中选项错误 ERROR:The Nouveau kernel driver is currently in use by your system.This driver is incompatible with the NVIDIA driver .... 意思是Nouveau在你的系统中运行,Nouveau 与NVIDIA官方驱动不兼容,百度之后发现,Nouvean是NVIDIA显卡的一种开源驱动,而不是官方驱动,所以你需要关掉这个驱动。
sudo vi /etc/modprobe.d/blacklist.conf 在该文件最后添加如下: blacklist vga16fb blacklist nouveau blacklist rivafb blacklist rivatv blacklist nvidiafb
sudo update-initramfs -u - 或者出现错误,可以通过 sudo apt-get autoremove --purge nvidia-* 以及命令 sudo apt-get remove --purge nvidia-*卸载显卡驱动,然后重装
3.安装CUDA
- 进入tty模式
- 键入:sudo /etc/init.d/lightdm stop
- 键入:sudo /home/CUDA.run(你的CUDA驱动)
- 这个时候会有很多提示需要你确认,由于在第一步已经成功安装了显卡驱动,所以这里就不需要再次安装了,因此 ,Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 3XX.XX ?这里选择 no,其余都是yes或者accept
- 装完毕之后,会显示如下
Driver: Not Selected Toolkit: Installed in /usr/local/cuda-8.0 Samples: Installed in /home/admi,but missing recommended library 缺少依赖库
- 安装依赖库
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
- 配置环境变量
sudo vi .bashrc export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- 验证是否成功 键入:nvidia-smi 以及nvcc -V
装完之后安装Theano,这部分网上有很多,不做赘述,安装之后,在Python之中
- import theano
- 出现问题:CNMEM is disable,CuDNN not available
- 解决办法:
下载cnmen 进入到cnmen文件 mkdir build #创建文件 cd build cmake .. make 然后,将include/cnmem.h文件以及build/libcnmen.so文件分别对应放进CUDA的include,lib64路径中 最后配置文件 ,在 .theanorc中添加 [lib] cnmem=1
- 再次测试
- >>>import theano
- >>> Using gpu device 0: GeForce GTX TITAN X (CNMeM is enabled with initial size:95.0% of memory,cuDNN 5005)
- 成功!