一:参考nouveau禁用

​https://www.pianshen.com/article/527837750/​​​,​​javascript:void(0)​​​,​​javascript:void(0)​​(简洁啊)禁用nouveau

注意重启验证nouveau是否已禁用:

NVIDIA驱动安装和CUDA、CUDNN安装_bash

(一)测试nvidia-smi,如果有下面显示,表示有驱动,如果没有结果显示,我们需要安装驱动

1.有驱动显示结果:

NVIDIA驱动安装和CUDA、CUDNN安装_.net_02

2.无驱动显示结果:

NVIDIA驱动安装和CUDA、CUDNN安装_tensorflow_03

二:根据自己的显卡类型下载驱动

(一)查看显卡类型


lspci | grep -i vga


NVIDIA驱动安装和CUDA、CUDNN安装_tensorflow_04

可以随便看看系统版本:

NVIDIA驱动安装和CUDA、CUDNN安装_linux_05

(二)官网下载驱动 (对应上面结果GeForce GT 630)

NVIDIA驱动安装和CUDA、CUDNN安装_linux_06

(三)开始按照显卡驱动

1. 按CTRL + ALT + F1进入字符界面

2. 输入命令关闭图形界面:sudo service lightdm stop

3. cd Downloads # 进入驱动下载的目录下

sudo chmod a+x NVIDIA-Linux-x86_64-384.130.run # 给驱动run文件赋予执行权限,驱动版本号自行修改

4. 开始安装驱动:sudo ./NVIDIA-Linux-x86_64-384.130.run -no-x-check -no-nouveau-check -no-opengl-files

NVIDIA驱动安装和CUDA、CUDNN安装_linux_07

5.安装过程,默认即可(其中DKMS特别慢,默认不选即可)

(四)nvidia-smi测试

NVIDIA驱动安装和CUDA、CUDNN安装_bash_08

(五)补充nvidia-smi参数说明


NVIDIA驱动安装和CUDA、CUDNN安装_bash_09

三:安装CUDA

(一)匹配CUDA型号(重点)

1.显卡对应计算能力


NVIDIA驱动安装和CUDA、CUDNN安装_linux_10

2.CUDA版本要求的计算能力(见官网)

NVIDIA驱动安装和CUDA、CUDNN安装_tensorflow_11

NVIDIA驱动安装和CUDA、CUDNN安装_linux_12

(二)开始下载


NVIDIA驱动安装和CUDA、CUDNN安装_javascript_13

(三)开始安装CUDA


sudo sh cuda_8.0.44_linux.run


q退出服务条款显示:

accept

n(不安装driver)

y

y

y

其中位置信息默认即可

安装结束,进行测试:


cd /usr/local/cuda-8.0/bin/  ./nvcc --version


NVIDIA驱动安装和CUDA、CUDNN安装_bash_14

(四)设置环境变量

到用户目录下:


cd


编辑.bashrc文件:


sublime .bashrc


末尾添加:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
export PATH=$PATH:/usr/local/cuda-8.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-8.0


NVIDIA驱动安装和CUDA、CUDNN安装_linux_15

终端运行:


source ~/.bashrc


检查:


nvcc --version


NVIDIA驱动安装和CUDA、CUDNN安装_linux_16

四:安装CUDNN

https://zhuanlan.zhihu.com/p/72298520

(一)版本对应

NVIDIA驱动安装和CUDA、CUDNN安装_linux_17

(二)选择​​cuDNN v6.0 Library for Linux​​下载

(三)解压文件


tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz


(四)拷贝赋权限


sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64 sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h  sudo chmod a+r /usr/local/cuda-8.0/lib64/libcudnn*


(五)查看CUDNN版本


cat /usr/local/cuda-8.0/include/cudnn.h | grep CUDNN_MAJOR -A 2


NVIDIA驱动安装和CUDA、CUDNN安装_.net_18

五:最后安装tensorflow-gpu也要参考上面的对应表格

(一)安装tensorflow-gpu

NVIDIA驱动安装和CUDA、CUDNN安装_linux_17


pip install tensorflow-gpu==1.4.0


(二)测试GPU工作


ipython  import tensorflow as tf  tf.test.is_gpu_available() #查看GPU是否可用,返回True则成功  gpu_device_name = tf.test.gpu_device_name() #查看设备名称,若是GPU不可用,会返回一些信息


NVIDIA驱动安装和CUDA、CUDNN安装_tensorflow_20

补充:一般不工作原因是上面版本不匹配,计算能力无法达到要求(所以我们需要提前获取显卡信息,按照版本安装)


Ignoring gpu device (device: 0, name: GeForce GT 620, pci bus id: 0000:01:00.0) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0.


运行程序时出现上述问题,gpu版tensorflow要求计算能力3.0,而我的显卡GeForce GT 620计算能力只有2.1,只能安装cpu版本了。


补充:​​深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析​​

(三)测试训练


top    #查看cpu使用率,发现cpu不像之前高达600%,降低了很多  watch -n 1 nvidia-smi #查看GPU使用情况,1秒刷新一次


NVIDIA驱动安装和CUDA、CUDNN安装_tensorflow_21

虽然占满了显存,但是也成功使用了GPU


fuser -v /dev/nvidia*  #查看使用GPU用户


NVIDIA驱动安装和CUDA、CUDNN安装_bash_22


环境搭建成功,还是接着用CPU吧,显卡实在太渣了....


pip uninstall tensorflow-gpu pip install tensorflow==1.14.0