当前位置: 代码迷 >> 综合 >> XShell安装Ubuntu 18.04 配置 NIVDIA Driver+CUDA9.0+cnDNN7.4.1+Tensorflow-GPU1.10.0环境
  详细解决方案

XShell安装Ubuntu 18.04 配置 NIVDIA Driver+CUDA9.0+cnDNN7.4.1+Tensorflow-GPU1.10.0环境

热度:76   发布时间:2023-11-30 17:05:03.0

      刚接触linux,并且是无图形界面命令行形式,因为任务需求需要安装linux深度学习环境,折腾了两天才最终安装成功。由于之前有过windows环境安装tensorflow-gpu安装经验,因此后面并没有花很长时间,反而是第一步安装NIVDIA 显示驱动花了最多的时间。下面开始介绍Ubuntu安装NIVDIA+CUDA+cuDNN+TF的步骤

服务器配置:

  • Ubuntu LTS 18.04
  • Unix 4.15
  • GV100[TITAN V]

1.下载CUDA、cudnn安装包,放入~/software文件夹下

CUDA 9.0下载:CUDA Toolkit 9.0 Downloads | NVIDIA Developer

由于CUDA 9.0中没有适配于Ubuntu 18.04的安装包,下载ubuntu17.04的即可

下载一个base installer还有四个patch,一共五个文件

cuDNN 7.4.1 for cuda 9.0(等注册账号后登录进入):https://developer.nvidia.com/rdp/cudnn-download

将下载的5个.run文件和1个.solitairetheme8文件放到/software文件夹内

2.查看适合的驱动并安装驱动

~$ ubuntu-drivers devices

 可以看到该GPU为GV100,推荐使用nvidia-driver-415驱动,但是版本太高,我在这里安装390驱动

根据上面显示的能够安装的驱动版本,安装推荐的版本输入下面命令:

~$ sudo ubuntu-drivers autoinstall

若安装推荐版本的driver,则安装成功后显示下列信息,Driver Version:415.18  CUDA Version:10.0

 安装其他版本的命令:

~$ sudo apt install nvidia-390

或者可以输入下列命令安装:

~$ sudo add-apt-repository ppa:graphics-drivers/ppa
~$ sudo apt update
~$ sudo apt install nvidia-390

3.重启服务器

这一步很重要,因为没有重启服务器安装完成后输入nvidia-msi命令总是提示

Failed to initialize NVML: Driver/library version mismatch

 经过反复安装都是这个效果,因此重启了一下服务器后显示才安装成功

重启服务器命令

~$ sudo reboot

输入nvidia-msi后显示驱动信息,Driver Version为390.87

 4.降级GCC

由于Cuda-9.0只支持gcc-6.0以下的版本,而Ubuntu18.04系统默认安装的gcc-7.3版本(可以在终端输入gcc --version查看系统安装的gcc版本),所以首先需要降级为gcc-5版本。

~$ sudo apt install gcc-5
~$ sudo apt install g++-5# 建立软链接
~$ cd /usr/bin
~$ sudo rm -r gcc  #移除之前的软连接
~$ sudo ln -sf gcc-4.7 gcc #建立gcc4.7的软连接
~$ sudo rm -r g++  #同gcc
~$ sudo ln -sf g++-4.7 g++# 以下也可
# ~$ sudo mv gcc gcc.bak #备份
# ~$ sudo ln -s gcc-5 gcc
# ~$ sudo mv g++ g++.bak
# ~$ sudo ln -s g++-5 g++

 使用gcc --version查看gcc版本

~$ cat /proc/driver/nvidia/version
~$ gcc --verison

 5.安装CUDA

software文件夹内下载好的CUDA,一共有5个文件,第一个base installer中第二个选项是否安装NVIDIA驱动选择no

Install NVIDIA Accelerated Graphics Driver for Linux-86_64 384.81 >> no

~$ sudo sh software/cuda_9.0.176.384.81_linux.run --override
~$ sudo sh software/cuda_9.0.176.1_linux.run
~$ sudo sh software/cuda_9.0.176.2_linux.run
~$ sudo sh software/cuda_9.0.176.3_linux.run
~$ sudo sh software/cuda_9.0.176.4_linux.run

6.安装完CUDA后,修改其环境变量 

~$ echo 'export PATH=/usr/local/cuda-9.0/bin:$PATH' >> ~/.bashrc 
~$ echo 'export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
~$ source ~/.bashrc

7.检验CUDA

输入下列命令查看CUDA版本

~$ nvcc -V

8.测试cuda显示gpu信息以验证cuda安装成功

输入下列命令,如果显示的是GPU信息,则证明CUDA安装成功

~$ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
~$ sudo make
~$ sudo ./deviceQuery

 9.安装cuDNN

下载下来的cudnn后缀是.solitairetheme8,可以用下列命令来解压

~$ tar -xvzf cudnn-9.0-linux-x64-v7.solitairetheme8

将解压完毕的文件夹内的文件复制到安装路径中

Installation Guide :: NVIDIA Deep Learning cuDNN Documentation

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

10.安装Tensorflow-GPU 1.10.0

创建python 3.6的环境并进入环境安装tf-gpu 1.10

~$ conda create -n tensorflow python=3.6
~$ conda activate tensorflow
~$ pip install --ignore-installed --upgrade tensorflow-gpu==1.10.0

11.验证tf是否安装成功

输入以下代码,启动tf

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

若在创建会话命令sess=tf.Session()后显示GPU情况,则证明安装tf-gpu成功

参考:

1.https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-18-04-bionic-beaver-linux
2.Ubuntu18.04+Cuda9.0+Cudnn7.1环境配置Tensorflow-gpu - 简书
3.真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)_Will-kkc的博客-CSDN博客_ubuntu cuda安装
4.Ubuntu18.04+CUDA9.0+cuDNN7.1.3+TensorFlow1.8 安装总结_Aiolia86的博客-CSDN博客
5.Ubuntu 18.04 安装 CUDA 9.1_ffiirree的博客-CSDN博客
6.cuda - Nvidia NVML Driver/library version mismatch - Stack Overflow
7.ubuntu18.04 tensorflow 机器学习环境搭建_51CTO博客_ubuntu 安装tensorflow

常用命令:

dpkg -l | grep -i nvidia 查看所有安装的nvidia包
nvidia-smi 查看nvidia驱动
ubuntu-drivers devices 查看ubuntu驱动
gcc --version

  相关解决方案