深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13

文章目录

  • 安装前的准备
  • Linux所需命令简介
  • 装显卡驱动(VM虚拟机安装不了NVIDIA显卡驱动)
      • 删除原有的NVIDIA驱动并关闭系统自带驱动
      • 安装显卡驱动需要关闭Ubuntu的图形显示界面
  • 安装CUDA10.0
  • 安装cudnn
  • Anacnonda3安装
  • 安装Tensorflow-gpu-1.13

安装前的准备

首先要明白自己的需求,自己需要跑的代码是tensorflow的什么版本的,因为不同的tensorflow版本需要不同版本的python3支持,需要不同的cuda,配套的cudnn和显卡驱动也不同。

所以首先确定tensorflow版本,然后根据tensorflow版本来确定cuda版本,由cuda版本确定显卡驱动版本和cudnn版本(严格来讲,cuda和显卡驱动不是一一对应的,最新的显卡驱动很多时候是可以向下兼容cuda的,但是不总成立,比如最新的450的驱动标配cuda版本是11.0,就不向下兼容,安装cuda10就不识别。cudnn和cuda也不是一一对应的)。从下表中可见我要想装tensorflow-gpu为1.13版,那么选择的CUDA版本就是CUDA10.0版。
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第1张图片
从CUDA版本和驱动的对应表汇中选择合适的显卡驱动,CUDA10.0要求显卡驱动版本大于410.48。
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第2张图片
NVIDIA历史版本驱动下载链接
进入链接后选择自己计算机对应的选项,搜索过后,选择版本大于410.48的驱动版本进行下载:Linux x64 (AMD64/EM64T) Display Driver,版本440.10,这个版本初始对应CUDA版就是CUDA10的,点进进行下载(.run格式)。
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第3张图片

根据CUDA版本选择对应的cudnn。cuda与cudnn关系查看及cudnn下载。点进链接后,发现对应CUDA10的cudnn版本由cudnn7.6.5,cudnn7.6.3,等等,很多个版本,本文选择cudnn7.3。

至此我们已经确定了要安装各个软件的版本了,分别是Tenserflow_gpu-1.13.0CUDA10.0440.10版本的显卡驱动cudnn7.3

cudnn的下载需要先注册登录NVIDIA的账号,需要下载4个文件,按从上到下的顺序分别是1个cudnn的安装文件和cudnn的3个测试文件(点击查看大图),文件类型分别是1个.tgz,3个.deb。
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第4张图片

CUDA各个版本官方下载链接,在点击对应链接进入下载界面后,根据自身计算机设置进行选项选择,最后的installer Type随便选,那个能下下那个,最下面是安装步骤。
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第5张图片
到这里,我们已经下载好显卡驱动(440.10版)、CUDA安装软件(10.0版)和cudnn相关组件(7.3版),下载的默认路径是home/usr_name/Downloads(下载),usr_name是账户名字。

使用权限命令给3个安装包添加运行权限,不添加的话运行时会产生无权限的报错。filename是被添加权限的运行文件的名字(墙裂建议下载好安装包后把安装包重命名一下,以简化安装时候敲进去的字符数量,例如可把CUDA的安装包重命名为cuda10.run,驱动安装包改为NVIDIA440.run,cudnn安装包改为cudnn7.3.tgz)。

sudo chmod +x filename

filename是安装包的全称。

下面开始安装。

Linux所需命令简介

为了安装的顺利进行,这里简要介绍下本文中所涉及的主要ubuntu命令,大多与文件操作有关。

  • 获取管理员权限(需要管理员密码):sudo,添加到待执行代码前面,并用空格做间隔,例如sudo apt-get install python3==3.6意思就是以管理员权限安装3.6版本的python3。

  • 展示当前文件夹中所有条目:ls,输入后终端中列出当前文件夹所有文件名字,并根据格式不同给予不同颜色标注。如蓝色是文件夹,绿色是可执行文件。深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第6张图片

  • 前往某个文件夹:cd,例如前往当前文件夹下的子文件夹Downloads的代码为:cd Downloads深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第7张图片
    或者前往某个绝对路径:cd /home/qt/Downloads在这里插入图片描述
    或者前往上级目录:cd ..在这里插入图片描述

  • 展示当前文件夹中所有文件的权限:ll深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第8张图片
    红框中是我们关心的管理员拥有的文件权限,d是文件列表权限(只有文件夹才有这个权限),r是读取权限,w是写入权限,x是执行权限。Linux里下载的文件都默认没有执行权限x。权限可以添加和删除,来保护文件不被损坏。

  • 添加权限:chmod,例如chmod +x cuda10.run,就是给文件cuda10.run添加运行权限,可以看到第一个红框中,没有选权限x,文件颜色为白色。chmod +x cuda10.run添加运行权限后,第二个红框中有了权限x,使得文件可以被执行,文件颜色也变成了绿色。加号+替换为减号-就是删除权限,cuda.run换成其他文件名字就可以给其他文件增删权限。深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第9张图片

  • 删除:rm,删除一个文件/文件夹就在那个文件夹下的终端中输入rm -rf filename注意,此删除恢复及其困难,谨慎使用。若一不小心删除了重要文件想恢复,请不要在磁盘上写入任何文件,否则文件永远丢失无法找回),filename是文件全称。

  • 安装:apt-get install application_name,例如sudo apt-get install python3==3.6意思就是以管理员权限安装3.6版本的python3。

  • 执行:./filename,例如在Downloads文件夹下输入命令./cuda10.run深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第10张图片

  • 注意:在输入命令后,在命令运行期间关闭终端,会导致进程池锁定,无法运行其他命令,所以请尽量等待命令运行结束显示如下对话时再关闭终端(运行软件除外),比如安装程序安装一半不想继续装了,请坚持到下个安装检查节点再退出,或者坚持到安装完毕再卸载。真锁住了,就把报错信息粘贴到百度搜索解决(删除两个文件就好了)
    在这里插入图片描述

装显卡驱动(VM虚拟机安装不了NVIDIA显卡驱动)

删除原有的NVIDIA驱动并关闭系统自带驱动

在命令行输入代码来删除系统原有驱动

sudo apt-get remove --purge nvidia*

然后再禁用系统自带的驱动

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

在打开的文本最后添加两行代码

blacklist nouveau
option nouveau modeset=0

保存后退出
执行

sudo update-initramfs -u

重启系统后,执行

lsmod | grep nouveau

如果没有任何输出的化说明禁用成功。

安装显卡驱动需要关闭Ubuntu的图形显示界面

重启系统,在启动过程中按Ctrl + Alt +F1(F1~F6均可)到x-server(如果进不去,在终端输入代码sudo apt install lightdm,并在弹出框中选择lightdm,后再次尝试), Ctrl+Alt+F7是返回,登录账号密码后,在命令行输入命令

sudo service lightdm stop 

要是提示如果提示:unit lightdm.service not loaded

则先安装LightDm:

sudo apt install lightdm

安装完毕后跳出一个界面,选择lightdm,再

sudo service lightdm stop

关闭图形界面。然后使用cd命令到NVIDIA显卡驱动程序所在文件夹,输入命令

sudo ./filename.run

来运行安装程序,一路continue就完了。安装好以后,再打开图形界面

sudo service lightdm start

然后校验驱动安装版本,在terminal中输入命令

nvidia-smi

来查看是否装上NVIDIA显卡驱动,若安装成功,则会显示版本信息,查看其版本以及其标配的CUDA版本。(图是已经全部装好的时候拍的,在X-server界面和这个差不多)
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第11张图片
nvidia-smi里面展示的CUDA Version只是该显卡驱动版本标配CUDA版本,和系统内的实际CUDA无关。

安装CUDA10.0

在CUDA10.0安装包所在目录(通常是home下的Downloads文件夹)右键点击,选择在终端中打开(open in terminal),在终端中输入命令

sudo ./cuda10.run

稍候片刻以后时很长的安装须知之类的东西,按住Enter不动,到最下面输入accept。然后会问你一些安装的问题,需要注意的就是第一问题选n,这是问是否要安装NVIDIA显卡驱动的,我们已经安装过了,所以不再装装了。还有一个是问是否安装OpenGL的,也要选n。其他的都选y,或者按Enter过。对话类似于下图,不过下图没有关于openGL的安装对话,因为我这里已经安装完了,所以就在网上找的图
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第12张图片
安装好以后还要添加环境变量。
在终端中输入

sudo gedit ~/.bashrc

打开.bashrc文件,在文件的最后,加入下面3行代码

#export LD_LIBRARY_PATH=$LDLIBRARY_PATH:/usr/local/cuda-10.0/lib64
#export PATH=$PATH:/usr/local/cuda-10.0/bin
#export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0

保存文件后,关闭文件

在命令行输入

source ~/.bashrc

来执行更改后的文件。

终端输入下面代码来检验CUDA是否安装成功,以及其版本

nvcc -V

如果安装成功会显示如下信息,表明安装成功。可以看到安装的CUDA版本为10.0

如果显示nvcc未安装,就先检查下环境变量是否添加上,终端输入

env

查看所有的环境变量。若环境变量添加上了,那就要把CUDA文件删除并重新安装。

CUDA安装的默认路径是

/usr/local/cuda-10.0

进入方法是点击文件的其他位置,点进去后选择Computer,就进入到根目录里了。
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第13张图片
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第14张图片
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第15张图片
根据路径打开cuda-10.0的文明夹后,找到文件bin,查找其中有没有一个文件名为:uninstall_cuda_10.0.pl,这是一个卸载脚本,运行它,就能够完成cuda的卸载。

sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl

卸载完以后会残留一些空文件夹,在/usr/loca文件夹下右键打开终端,输入命令

sudo rm -rf cuda-10.0

便可完全删除已经安装的CUDA。

要是没有找到卸载脚本uninstall_cuda_10.0.pl,那就在终端中输入命令

sudo apt-get remove cuda*
sudo apt-get remove --purge cuda*
sudo apt-get update

然后再到路径/usr/loca下右键打开终端,输入

sudo rm -rf cuda-10.0

就能完全卸载已经安装的CUDA。

安装cudnn

cudnn的安装是插入式的,只要把对应的文件复制粘贴到对应CUDA的文件夹中即可,不涉及到文件替换。
卸载cudnn也很简单,把对应的cudnn的文件删除掉就好。

在home下的Downloads文件夹下找到cudnn7.3的压缩包,双击打开,提取文件到home目录下,home目录下找到目标文件夹(名字为:cuda),进入文件夹打开终端,为所有的文件夹下的文件(包括子文件夹中的文件)增加执行权限(+x)。

增加完权限以后在终端中输入下列命令,注意留意空格

sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp 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版本

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

看到下图说明安装成功。

下面验证cudnn是否安装成功:
在之前下载cudnn的时候一共下载了4个带cudnn字样的文件,安装cudnn的时候只用了一个,还有三个没用的到的文件就是在这里作为验证可以使用的。

在那三个文件所在文件夹右键打开终端,给这三个文件添加权限命令

chmod +x filename1
chmod +x filename2
chmod +x filename3

然后执行这三个文件

sudo dpkg -i filename1
sudo dpkg -i filename2
sudo dpkg -i filename3

(若有报错,先检查文件名是否输入对了,然后更换安装次序,里面有个文件要最先安装,最后还没解决就百度吧)

安装好以后会在/usr/src/cudnn_samples_v7里出现有一些cudnn的例子
在这个路径下打开终端,输入代码

make clean && make
./mnistCUDNN

要是出现如下结果,说明cudnn1安装成功
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第16张图片
可以看到测试通过。

Anacnonda3安装

首先在anaconda3网站上下载安装包,选择Linux x86的installer
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第17张图片
注意,这个版本的Anaconda3带的是3.8版本的python3,高于我们要装的tensorflow-gpu-1.13版本的要求,要求是2.7或3.3-3.6。所以安装好Anaconda3以后还需要把python版本降到3.6。同样的也要查看gcc版本是否符合tensorflow-gpu-1.13的要求(低于4.8)。

下载好安装包以后,在Downloads文件夹右键打开终端,给安装包添加执行权限后运行。

深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第18张图片
按照提示进行安装。安装完成后在命令行输入命令来查看Anaconda环境是否安装成功

python3

深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第19张图片
注意python3的版本号是3.8.3,GCC版本号是7.3.0,以及Anaconda字样,说明已经安装成功,Anaconda3的python3版本成为系统的python环境版本。

安装Tensorflow-gpu-1.13

首先给python3和gcc降版本。
给Anaconda3添加权限

sudo chmod -R o+w anaconda3路径

然后输入命令

conda install python=3.6

根据引导完成安装(有时候因为网络不好会报错,多试几次就好了)
首先安装gcc4.8

sudo apt-get install -y gcc-4.8
sudo apt-get install -y g++-4.8

然后移除以前的gcc,打开根目录下的bin文件夹,右键打开终端。

sudo rm gcc
sudo rm g++

链接新下载的gcc4.8

sudo ln -s gcc-4.8 gcc
sudo ln -s g++-4.8 g++

最后查看是否安装成功

gcc -v

显示如下信息说明安装已经成功,版本为4.8.5
深度学习GPU加速环境配置:Ubuntu16.04+RTX 2080(440)+CUDA10.0+cudnn7.3+Ananconda3+Tensorflow1.13_第20张图片
最后通过pip命令安装1.13版本的tensorflow-gpu

pip3 install tensorflow-gpu==1.13

安装完成后,在终端打开python,输入下列代码,验证tensorflow和GPU是否能够正常工作

python
import tensorflow as tf
print(tf.test.is_gpu_available()


返会结果为Ture,说明一切工作顺利。
到这里整个安装过程就结束了,感谢实验室师兄给予的支持和信任。

你可能感兴趣的:(RL,cuda,ubuntu)