Ⅰ. 关闭Secure Boot

进入bios关闭Secure Boot,不同品牌电脑有所差异,例如下图:

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火
将“Secure Boot”设置为Disabled

Ⅱ. 安装NVIDIA显卡驱动

1.这里使用Tensorflow官方推荐方式安装

(https://tensorflow.google.cn/install/gpu)

# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update

wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb

sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update

# Install NVIDIA driver
sudo apt-get install --no-install-recommends nvidia-driver-450

2.重启,然后通过下面命令确认下驱动是否安装完成

nvidia-smi

安装完成的效果为:

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火

Ⅲ. 安装CUDA

1.下载并安装CUDA:

访问NVIDIA官方(https://developer.nvidia.com/cuda-toolkit-archive)下载所需的CUDA版本

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火
Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火
# CUDA11.0
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run

这里要注意不要选择安装驱动,因为我们在上一步已经安装过了:

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火

2.修改环境变量

vim ~/.bashrc

在.bashrc文件最末尾添加:

# Add the related bin and lib for cuda toolkit
export PATH="/usr/local/cuda-11.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH"

记得更新一下环境变量:

source ~/.bashrc

Ⅳ. 安装cuDNN

1.下载cuDNN

访问NVIDIA官网下载CUDA对应的cuDNN版本

如本次我们安装的是CUDA11.0,那么就下载对应的cuDNN v8.0.5

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火

然后按照如下顺序依次安装 :

sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda11.0_amd64.deb

2.查看安装结果

nvcc -V
Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火

3.使用mnist验证cuDNN

cp -r /usr/src/cudnn_samples_v8 ~
cd ~/cudnn_samples_v8/mnistCUDNN
make clean
make
./mnistCUDNN

如果最后出现了 Test passed! 那么就说明安装成功了

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火

Ⅴ. 安装Anaconda3

前往官方归档页面下载所需版本:

选择自己需要的版本下载就可以,这里我们下载的是Anaconda3-2020.11-Linux-x86_64,对应python3.8.5

下载之后通过命令安装

sudo sh Anaconda3-2020.11-Linux-x86_64.sh

全程输入”yes”即可

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火
输入”yes”

Ⅵ.安装TensorFlow

1.创建新的虚拟环境dl,克隆自base环境

conda create -n dl --clone base

2.激活虚拟环境

conda activate dl

3.安装tensorflow,这里我们安装2.4.0版本

pip install --upgrade tensorflow==2.4.0

4.验证tensorflow安装效果

进入python解释器,执行以下脚本

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

如果输出True则代表安装成功:

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火

Ⅶ. 安装TensorRT

1. 下载TensorRT

访问NVIDIA官网下载对应的TensorRT版本,这里下载的是7.2.2版本,为了方便管理,我们下载的是tar包

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火

2. 配置TensorRT

依次执行如下步骤

# 解压tar包
tar xzvf TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.0.cudnn8.0.tar.gz
# 将解压后的文件夹TensorRT-7.2.2.3移动到自定的位置
sudo mv TensorRT-7.2.2.3 /usr/local/
# 编辑.bashrc文件
vim ~/.bashrc
# 在.bashrc文件中加入下面的环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-7.2.2.3/lib
# 保存退出,更新一下环境变量
source ~/.bashrc

# 切换conda虚拟环境
conda activate dl
# 根据python版本安装python TensorRT wheel 文件
cd /usr/local/TensorRT-7.2.2.3/python
sudo pip install tensorrt-7.2.2.3-cp38-none-linux_x86_64.whl
# 安装python uff wheel文件
cd /usr/local/TensorRT-7.2.2.3/uff
sudo pip install uff-0.6.9-py2.py3-none-any.whl
# 检查uff安装情况
which convert-to-uff
# 安装python graphsurgeon wheel 文件
cd /usr/local/TensorRT-7.2.2.3/graphsurgeon
sudo pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
# 安装python onnx-graphsurgeon wheel 文件
cd /usr/local/TensorRT-7.2.2.3/onnx_graphsurgeon
sudo pip install onnx_graphsurgeon-0.2.6-py2.py3-none-any.whl

注:如果出现sudo: pip: command not found可以参考:解决:sudo: pip: command not found,也可以使用sudo+其他命令取得权限并在会话时间内直接用pip执行

3.验证

使用自带的示例进行验证

cd /usr/local/TensorRT-7.2.2.3/data/mnist
python download_pgms.py
cd ../../samples/sampleMNIST/ 
# 编译
make
# 运行
../../bin/sample_mnist

输出如下则代表成功:

Ubuntu18.04安装CUDA+cuDNN+TensorFlow+TensorRT-萤火

注:如果执行python download_pgms.py出现错误:”urllib.error.HTTPError: HTTP Error 503: Service Unavailable”,可以多试几次,或者从其他地方复制下载好的.pgm文件到data/mnist目录下即可:

END


参考链接:

  1. TensorFlow官网
  2. Ubuntu 18.04 Tensorflow 2.4 Cuda 11.0 Cudnn8.04安装
  3. NVIDIA TensorRT Documentation
  4. 解决:sudo: pip: command not found