Ubuntu18.04下搭建TensorFlow-GPU环境详细过程

网上关于Ubuntu16.04及14.04安装cuda、cudnn等的教程较多,Ubuntu18.04的介绍很少。本文主要介绍Ubuntu18.04下如何安装英伟达驱动以及cuda、cudnn和Anaconda等编程环境。

博主硬件为ThinkPadT450(GeForce 940M显卡),双固态硬盘双系统(Ubuntu和Windows10),具体怎么安装百度教程很多,这里就不做介绍了。

让我们进入正题:

下载:cuda、cudnn、NVIDI

1.安装显卡驱动

  • 检查自己电脑的gpu是否CUDA-capable 

cyg@cyg-ThinkPad-T450:~$ lspci | grep -i nvidia
04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev a2)

  • 禁用nouveau

cyg@cyg-ThinkPad-T450:~$ lsmod | grep nouveau

如果有输出说明nouveau正在加载

打开禁用列表

cyg@cyg-ThinkPad-T450:~$ sudo gedit /etc/modprobe.d/blacklist.conf

在打开文本的最后一行添加:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

执行以下命令来禁止内核中nouveau

cyg@cyg-ThinkPad-T450:~$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

更新,重启

cyg@cyg-ThinkPad-T450:~$ update-initramfs -u

cyg@cyg-ThinkPad-T450:~$ sudo reboot

再次查看是否禁用nouveau

cyg@cyg-ThinkPad-T450:~$ lsmod | grep nouveau

 以上步骤可能是Ubuntu18.04的非必要操作,如果是单显卡主机,禁用nouveau驱动重启后可能会导致无法进入Ubuntu图像界面,可以按Ctrl+Alt+F3,Ubuntu18.04好像是F3,16.04是F1进入文本编辑界面安装NVIDI显卡驱动,可以参考这篇文章进行相应的设置。

实际上,博主在执行完以上步骤后,并没有重启电脑,直接执行以下操作,替换为英伟达驱动即完成了显卡的更新。

重点:

1.首先删除旧的NVIDIA驱动:

cyg@cyg-ThinkPad-T450:~$ sudo apt-get purge nvidia-*

2.添加Graphic Drivers PPA

cyg@cyg-ThinkPad-T450:~$ sudo add-apt-repository ppa:graphics-drivers/ppa

cyg@cyg-ThinkPad-T450:~$ sudo apt-get update

3.寻找驱动版本

cyg@cyg-ThinkPad-T450:~$ ubuntu-drivers devices

Ubuntu18.04下搭建TensorFlow-GPU环境详细过程_第1张图片

 

 

 

4.安装好 最新的驱动

cyg@cyg-ThinkPad-T450:~$ sudo apt-get install nvidia-396

5.重启

cyg@cyg-ThinkPad-T450:~$ sudo reboot

6.挂载nvidia驱动

cyg@cyg-ThinkPad-T450:~$ nvidia modprobe nvidia

 7.查看驱动的安装状态

cyg@cyg-ThinkPad-T450:~$ sudo nvidia-smi

 Ubuntu18.04下搭建TensorFlow-GPU环境详细过程_第2张图片

8.打开nvidi驱动设置程序

cyg@cyg-ThinkPad-T450:~$ sudo nvidia-settings

 Ubuntu18.04下搭建TensorFlow-GPU环境详细过程_第3张图片

9.在终端输入命令,实时查看GPU的使用情况:

cyg@cyg-ThinkPad-T450:~$watch -n 1 nvidia-smi

Ubuntu18.04下搭建TensorFlow-GPU环境详细过程_第4张图片

10.到Ubuntu18.04系统的“软件和更新” 选择相应的附加驱动

2.安装cuda、cudnn

博主尝试安装过9.1版和10.0版的cuda和cudnn,都没有成功。9.1版的可能是因为cudnn用的是9.0的导致没有编译成功。后来试用9.0版本编译成功,如果想要尝试9.0外的其他版本,可以参考链接

参考下载链接下载9.0版本的cuda和cudnn,博主下载的是16.04的本地运行文件runfile(local),需要下载一个运行程序和相应的补丁,所有文件如下:

cuda_9.0.176_384.81_linux.run

cuda_9.0.176.1_linux.run

cuda_9.0.176.2_linux.run

cuda_9.0.176.3_linux.run

cuda_9.0.176.4_linux.run

cudnn下载cudnn7.05 for 9.0,如果是9.1的cuda则需要选择for9.1的

 

Ubuntu18.04下搭建TensorFlow-GPU环境详细过程_第5张图片

 下载完所有文件就可以开始安装了,因为CUDA 9.0仅支持GCC 6.0及以下版本,Ubuntu18.04gcc,g++版本较高,所有先要替换成低版本的gcc,g++:

1.安装4.8版本

cyg@cyg-ThinkPad-T450:~$ sudo apt-get install gcc-4.8

cyg@cyg-ThinkPad-T450:~$ sudo apt-get install g++-4.8

2.cd到/usr/bin目录下,将它改为链接到gcc-4.8

cyg@cyg-ThinkPad-T450:~$ ls -l gcc*

cyg@cyg-ThinkPad-T450:~$ sudo mv gcc gcc.bak

cyg@cyg-ThinkPad-T450:~$ sudo ln -s gcc-4.8 gcc

 对g++进行同样的操作

cyg@cyg-ThinkPad-T450:~$ ls -l g++*
cyg@cyg-ThinkPad-T450:~$ sudo mv g++ g++.bak
cyg@cyg-ThinkPad-T450:~$ sudo ln -s g++-4.8 g++

查看版本:

cyg@cyg-ThinkPad-T450:~$ gcc --version
cyg@cyg-ThinkPad-T450:~$ g++ --version

 3.安装cuda9.0

cyg@cyg-ThinkPad-T450:~$ sudo sh cuda_9.0.176_384.81_linux.run

cyg@cyg-ThinkPad-T450:~$ sudo cuda_9.0.176.1_linux.run

cyg@cyg-ThinkPad-T450:~$ sudo cuda_9.0.176.2_linux.run

cyg@cyg-ThinkPad-T450:~$ sudo cuda_9.0.176.3_linux.run

cyg@cyg-ThinkPad-T450:~$ sudo cuda_9.0.176.4_linux.run

一直按回车键安装,碰到是否安装Driver可以选择否(因为之前已经安装),Samples也可以不安装

4.添加环境变量,修改配置

cyg@cyg-ThinkPad-T450:~$ sudo gedit ~/.bashrc

export CUDA_HOME=/usr/local/cuda-9.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export  PATH=${CUDA_HOME}/bin:${PATH}

5.设置环境变量和动态链接库,在命令行输入:

cyg@cyg-ThinkPad-T450:~$ sudo gedit /etc/profile

export PATH=/usr/local/cuda/bin:$PATH

cyg@cyg-ThinkPad-T450:~$ sudo gedit /etc/ld.so.conf.d/cuda.conf

/usr/local/cuda/lib64

6.修改后保存配置:(会导致 /usr/local/cuda/lib64/libcudnn.so.7 不是符号链接?)

cyg@cyg-ThinkPad-T450:~$ sudo ldconfig

cyg@cyg-ThinkPad-T450:~$ ln -sf   /usr/local/cuda-9.0/lib64/libcudnn.so.7.0.5  /usr/local/cuda-9.0/lib64/libcudnn.so.7

cyg@cyg-ThinkPad-T450:~$ sudo ldconfig

 

7.安装cudnn

解压cudnn-9.0-linux-x64-v7.tgz

把相应文件复制到/usr/local/cuda/  CUDA安装文件夹里,

cyg@cyg-ThinkPad-T450:~$ sudo cp cuda/include/cudnn.h    /usr/local/cuda/include

cyg@cyg-ThinkPad-T450:~$ sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64

cyg@cyg-ThinkPad-T450:~$ sudo chmod a+r /usr/local/cuda/include/cudnn.h   /usr/local/cuda/lib64/libcudnn*

至此,就可以安装Anaconda、pycharm、tensorflow等等工具了

3.安装Anaconda

下载Anaconda3-5.2.0 Linux版,cd到文件路径

cyg@cyg-ThinkPad-T450:~$ bash Anaconda3-5.2.0-Linux-x86_64.sh -b

 

你可能感兴趣的:(AI)