ubuntu 18.04 安装NVIDIA驱动 cuda/cudnn + tensorflow-gpu + pytorch

电脑换了华硕新主板,需要重装系统,用的Ubuntu18.04的系统,电脑用的显卡是GTX1080Ti。在新系统中装显卡驱动过程中遇到很多坑,中间无奈搞乱环境又重装了一次系统,再次尝试,终于成功。整个过程失败次数很多,参考的教程感觉自己步步都做对了,但是最后就是不能成功运行。配置系统这种事情确实比较麻烦,心态要对,遇到问题上网搜索方法,最终总归都能解决。

接下来接讲讲我装NVIDIA驱动到装tensorflow-gpu和pytorch的方法,大家硬件和系统都有所区别,不能保证我的方法你不一定能成功,但是希望能值的大家借鉴。
不得不说,我所使用的方法大部分都是参考其他无私博主的贡献,主要参考的这篇博客 。

先说一句,Python我是用的是 Anaconda3-5.2.0-Linux-x86_64.sh,因为这里对应的是Python3.6。最新版的Anaconda对应的是Python3.7,但是Python3.7目前为止还不能兼容tensorflow,所以请不要下载最新版本的Anaconda。

推荐大家使用anaconda来代替原版python,它预置了很多数据分析相关的包,包括scipy和matplotlib等,这些模块你自己安装可能会出现很多问题。
另外,自带的conda安装python包会方便很多,因为它针对数据分析相关模块做了很多优化,会检测并自动安装环境,很多方便的功能是pip做不到的。
包括之后的cuda、cudnn安装都是根据系统环境安装的,比自己手动装靠谱的多,不容易出错。

装NVIDIA驱动

首先,系统最好是新系统,NVIDIA驱动所需的依赖比较多,而且对版本都有要求,否则会产生各种报错。
官网下载NVIDIA驱动,下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn
这里选择好第一项产品类型后,需要等一会才能加载后面的选项,网络不好的话更需要耐心等待。
ubuntu 18.04 安装NVIDIA驱动 cuda/cudnn + tensorflow-gpu + pytorch_第1张图片

ubuntu 18.04 安装NVIDIA驱动 cuda/cudnn + tensorflow-gpu + pytorch_第2张图片

截止到发文2018.12.26,我下载的版本是 NVIDIA-Linux-x86_64-410.78.run ,等待下载过程中,可以先进行下一步。
安装依赖:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libfreeimage3 libfreeimage-dev

以上步骤均完成后,继续。

# 卸载干净已安装的NVIDIA驱动
sudo apt-get remove --purge nvidia*
# 下面run文件名称换成你的
sudo chmod 777 NVIDIA-Linux-x86_64-410.78.run

禁用nouveau驱动(十分重要):

sudo vim /etc/modprobe.d/blacklist.conf

文本最后添加以下内容:

blacklist nouveau
options nouveau modeset=0

使用命令行使其生效:

sudo update-initramfs -u

重启电脑使其生效。

sudo reboot

参考的博客,博主说重启后分辨率可能会发生变化,安装完NVIDIA驱动后会恢复,但这里我并没有出现分辨率变化的情况。

lsmod | grep nouveau
#如果屏幕没有输出则禁用nouveau成功

到这里,安装NVIDIA驱动的前期工作已完成,接下来进行安装。

# 安装,后面参数非常重要
sudo ./NVIDIA-Linux-x86_64-390.48.run -no-opengl-files -no-nouveau-check

参考的博文中此处有 -no-x-checks 参数,但是 由于我的版本和他的不一样,我的版本没有这个参数,所以没有添加。如果是他的版本,可以加上这个参数。

运行显示当前显卡的状态,

#列出GPU信息列表
nvidia-smi

如果出现下图,则说明安装成功。如果报错,则说明安装失败,请搜索其他安装驱动的方法。
ubuntu 18.04 安装NVIDIA驱动 cuda/cudnn + tensorflow-gpu + pytorch_第3张图片
这里还有 Nvidia-settings 命令可以弹出设置,但是这个命令我是运行失败的,不过不影响接下来的安装,可以忽略。
如果之前出现分辨率变化的情况,这里安装成功后会还原。

以上步骤完成后,NVIDIA驱动就安装成功了,如果你不需要装tensorflow-gpu等东西,可以继续参考上面引用的博文中内容继续安装cuda、cudnn。

但是如果你需要安装tensorflow-gpu和pytorch,请先别安装cuda、cudnn,按照下面步骤完成安装。

装tensorflow-gpu

上面已经讲过,python使用的是Anaconda,Anaconda3-5.2.0为Python3.6,tensorflow需使用python3.6。
安装软件,

sh Anaconda3-5.2.0-Linux-x86_64.sh 

Anaconda官网下载软件特别慢,可以使用清华源下载,具体的下载地址和下载后的初步配置,比如怎么提高包的下载速度,请参考我的这篇文章:conda和pip常用方法,更换源,包的安装、更新、删除、查看。

# 更新conda
conda update conda
# 安装tensorflow-gpu
conda install tensorflow-gpu

使用上面conda命令安装,会检测系统环境,自动下载cuda toolkit和cudnn,所以这里无需再手动安装。
我自动安装的版本是 cudatoolkit 8.0cudnn 6.0.21。使用下面命令查看你安装的版本,

conda list | grep "cudatoolkit"
conda list | grep "cudnn"

cuda

进入python shell,运行下面命令,没有报错即安装成功。

import tensorflow as tf
hello = tf.constant('hello, Tensorflow!')
sess = tf.Session()
print(sess.run(hello))

会出现很多日志信息,但如果能正常输出print内容,没有出现error应该都没有问题。

上面的命令不要退出,新打开窗口后运行 nvidia-smi,如果出现刚才运行的python则代表GPU使用正常。
ubuntu 18.04 安装NVIDIA驱动 cuda/cudnn + tensorflow-gpu + pytorch_第4张图片

装pytorch

打开pytorch官方网站, https://pytorch.org/get-started/locally/ ,根据自己上面查到的cuda版本决定下载的命令。
ubuntu 18.04 安装NVIDIA驱动 cuda/cudnn + tensorflow-gpu + pytorch_第5张图片
运行给出的推荐命令即可。

# cuda 8.0
conda install pytorch torchvision cuda80 -c pytorch
# cuda 9.0
conda install pytorch torchvision -c pytorch

安装完成后,使用下面命令测试是否成功安装,并且是否使用了GPU。

import torch
print(torch.cuda.is_available())

如果返回的是1,则说明正确安装并且使用了GPU。

你可能感兴趣的:(python技巧,Linux)