前言:
在这之前,在ubuntu16下,我$ sudo apt-get purge nvidia-367然后去安装nvidia-384,就是这个过程不知道同时删除了什么,先是无限循环,再重启后更是黑屏。。。
破釜沉舟,只能重装系统。你们可以参照我《安装Ubuntu16.04之旅》来重装,记得先把以前备份拷出来。重装完先是查看了一下nvidia的显卡驱动$ sudo dpkg --list | grep nvidia,嗯,系统还没有nvidia显卡,很好。接下来可以安装nvidia-384了。
为什么nvidia-384呢,因为从Software & Updates里的Additional Drivers查看到了Ubuntu16.04与nvidia-384搭配的。还因为在windows7 安装TensorFlow过程中发现以下搭配是可以的:Tensorflow 1.6, nvidia-385, cuda 9.0, cudnn v7。
1. ubuntu16.04下安装nvidia显卡驱动(我的显卡是GTX1080):
参考https://blog.csdn.net/qq_33843297/article/details/78683569。
1.1 黑名单ubuntu自带显卡驱动nouveau:
$ sudo nano /etc/modprobe.d/blacklist.conf
-> 在最后面加上:
blacklist nouveau
option nouveau modset = 0
Ctrl-X退出保存。
$ 更新内核设置
sudo update-initramfs -u
$ reboot
$ lsmod | grep nouveau
1.2 在Bios里禁止Secure Boot
1.3 从Software & Updates里的Additional Drivers查看到了Ubuntu16.04与nvidia-384搭配的
1.4 安装nvidia-384驱动:
$ sudo apt-get install nvidia-384 nvidia-settings
查看有无装上:
$ sudo dpkg --list | grep nvidia
有就有东西显示
$ reboot
查看有无运行:
$ nvidia-smi
那么,你已经安装成功nvidia驱动。
2. 安装Cuda
参考https://blog.csdn.net/qlulibin/article/details/78714596。这篇教程是翻译官网的https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4VZnqTJ2A,与ubuntu相关的,比较可靠。
这里我就不重复了。
*但是在用md5sum检查下载的cuda_xxx.run序列号时,你要到https://developer.download.nvidia.com/compute/cuda/9.0/Prod/docs/sidebar/md5sum-b.txt去对比。如果你的版本不是9.0,就修改一下地址中间的数字,再打开地址。
* 在安装CUDA它问你要不要装驱动,根据我的经验,千万不要说yes, 选no, yes安装的驱动是坑。根据第一部分安装驱动就好。
* 遇到提示是否安装openGL ,如果你的电脑是双显,且主显是非NVIDIA的GPU在工作需要选择no,否则可以yes。其他都选择yes或者默认即可。(如果您的电脑是双显卡且在这一步选择了yes,那么你极有可能安装完CUDA之后,重启图形化界面后遇到登录界面循环问题:输入密码后又跳回密码输入界面)
* 如果真的循环登录,把显卡驱动以及安装的CUDA都删除就OK.
3. 配置cudnn v7.0
参考官方文档:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#axzz4qYJp45J2
先到https://developer.nvidia.com/rdp/cudnn-download注册然后下载cudnn v7.0
官方给出了两种安装方法:
A. 先下载如图中 cuDNN v7.0.5 Library for Linux
然后解压下载的压缩包:
$ tar -xzvf cudnn-9.0-linux-x64-v7.tgz
然后配置文件:
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include /cudnn.h /usr/local/cuda/lib64/libcudnn*
B. 点击下载Runtime Library, Developer Library 和code sample .deb
$ sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.0.3.11-1+cuda9.0_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb
最后验证一下:
$ cp -r /usr/src/cudnn_samples_v7/ $HOME
$ cd $HOME/cudnn_samples_v7/mnistCUDNN
$ make clean && make
$ ./mnistCUDNN
你应该看见最后一行有Test passed! 如果你看见有什么静止库(.so)遗失,很大概率是你的CUDA没装好,或者装好后没配置环境变量又或者CUDA的版本对不上cuDNN。
4. 安装Tensorflow
当当当...,什么是当当当?就是当nvidia显卡驱动,CUDA,cuDNN按顺序下载完以及验证安装成功后,才去安装Tensorflow。
官方文档https://tensorflow.google.cn/install/install_linux#InstallingNativePip给了4种方法。我用了pip和pip3的方法。
先安装pip和pip3(当然你可以用虚拟环境):
$ sudo apt-get install python-pip python-dev
$ sudo apt-get install python3-pip python3-dev
然后用pip3安装TensorFlow:
$ pip install tensorflow-gpu
$ pip3 install tensorflow-gpu
最后验证:
$ python3 或者 $ python
>> import tensorflow as tf
>>
如果import tensorflow没问题就大功告成。
Reference:
1. QLULIBIN. https://blog.csdn.net/qlulibin/article/details/78714596
2. qq_33843297. https://blog.csdn.net/qq_33843297/article/details/78683569
3. cuda 安装手册. https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4VZnqTJ2A
4. cudnn 安装手册. https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#axzz4qYJp45J2
5. tensorflow 安装手册. https://tensorflow.google.cn/install/install_linux#InstallingNativePip