TrueOctopus
2020-03-22

Ubuntu安装Tens...

环境:
系统:Ubuntu18.04
GPU:GTXm1050ti
显卡驱动:440
CUDA:10.1
Cudnn:7.6.5
Tensorflow-gpu:2.1.0

Tensorflow官网:https://tensorflow.google.cn/

显卡驱动的安装

(以gtx1050ti为例)

三种方式

  1. 在软件与更新中的附加驱动中直接选择版本安装,最方便但是问题很多,还有可能失败,不推荐

  2. 添加ppa源安装

    1
    2
    3
    $ sudo add-apt-repository ppa:graphics-drivers/ppa
    # 更新
    $ sudo apt-get upgrade

    安装:

    1
    $ ubuntu-drivers devices # 显示可安装驱动版本,然后选择其中的一个版本安装

    8hND0g.png

    随后选择安装440版本的驱动

    注意:这里有两种安装方式,效果是一样的

    第一种是输入命令行,第二种是在软件与更新中的附加驱动中选择版本安装

    这里以第一种方式为例,第二种方式的操作类似


    输入以下命令

    1
    $ sudo apt-get install nvidia-driver-440

    之后会出现如图所示的安装界面,这里让你设置安全启动的密码(需要英文加数字的形式)

    8hNxBD.png

    8hUpAH.png

    设置完毕后,重启电脑,将会出现如下界面

    85toS1.jpg

    选择第二项,Enroll MOK

    85tWo4.jpg

    选择第二项,Continue

    85t5WR.jpg

    选择yes,并输入你的密码,随后将会跳转回第一个界面,选择Continue boot,重启电脑

  3. 使用官方下载的驱动进行安装

    过程较为复杂,这里就不演示了

    详见:https://blog.csdn.net/u014797226/article/details/79626693

    官网:http://www.nvidia.cn/Download/index.aspx?lang=cn


    采用上述方法安装完成后进入系统后,输入以下命令

1
$ nvidia-smi

如果出现如图所示的界面,说明安装成功!

8hN5BF.png

注意:右上角的CUDA Version为当前驱动最高支持的CUDA版本,向下兼容,在之后安装CUDA toolkit时需要留意版本是否支持


安装CUDA Toolkit

使用官网安装,注意版本和选项别选错,这里我选择的是10.1,试过10.2发现无法使用GPU

8hUC4A.png

下方有官方说明的安装方法,下载完成后,输入如下命令

1
sudo sh cuda_10.1.168_418.67_linux.run # 这里填你的文件名

稍等之后,出现如下界面

8hU2UH.png

输入accept,回车

8hUR5d.png

注意:在这里用回车取消驱动选项,因为你已经装好了,使用cuda也是可以安装驱动的,但我试过

之后添加环境变量

1
2
3
4
5
6
7
8
9
$ sudo gedit ~/.bashrc # 这里使用的是gedit,换成其他的也行
# 在文件末输入,注意更改你的CUDA版本号,确保匹配
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1
# 使环境变量生效
$ source ~/.bashrc
# 判断是否安装成功
$ nvcc –version

出现如图所示,即为安装成功

8hU5xP.png


安装cuDNN

官网下载:https://developer.nvidia.com/cudnn

下载对应cuda版本的cudnn文件,这里我选择的是7.6.5对应cuda10.1,点击第三个进行下载

8hUDv6.png

下载完成后进行解压,会有一个名为cuda的文件夹,输入以下命令

1
2
3
4
$ 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
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

查看cudnn版本,检查是否成功

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

如出现如图所示,则安装成功

8hUTr8.png


安装Tensorflow-gpu

官方网址GPU支持:https://tensorflow.google.cn/install/gpu

官网有全部的安装过程,包括驱动、cuda的安装,反正我是没成功过

首先可以更新下pip

1
$ python -m pip install --upgrade pip

随后使用pip进行安装,建议在虚拟环境下安装,速度慢的可以给pip换源

1
2
(venv)$ pip install tensorflow-gpu # 默认安装最新版
(venv)$ pip install tensorflow-gpu==2.0.0 # 可选择版本安装

检验是否成功

1
2
3
$ python3                     # 进入python3
>>>import tensorflow as tf
>>>tf.test.is_gpu_available() # 如果显示true说明安装成功,可以使用gpu

如图

8hU7qS.png

注意:如果在引入tensorflow的时候出现一堆提示,请忽视,一般多为一些警告,不影响使用,只要最后能用就行

就此,大功告成,可喜可贺,可喜可贺!


win10上的安装

最后说一句,最方便的其实是,安装完驱动后,使用Anaconda3安装tensorflow-gpu,一条命令,帮你把之后所有的事情都解决

1
(base)$ conda install tensorflow-gpu

但是,Anaconda3在我的电脑,我的Ubuntu系统中总是会崩溃,并且带崩我的整个系统,原因不知,搞崩两次了都

所以,这个方法建议是在win平台上搭建时使用的