RTX3090+Ubuntu 20.04+tensorflow 2.4.0安装指南

参考这篇文章,里面有些错误进行了修改

显卡3090,ubuntu 20.4
watch -n 1 nvidia-smi

RTX3090+Ubuntu 20.04+tensorflow 2.4.0安装指南_第1张图片

Anaconda安装最新的python3.8版本

安装tensorflow2.4版本,使用豆瓣镜像
pip install tensorflow-gpu==2.4 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

安装CUDA 11.2
首先打开下载地址:https://developer.nvidia.com/cuda-toolkit-archive 找到最新发布的CUDA,我下载的是11.2.0:

之后依次选择linux->x86_64->Ubuntu 20.04,如果没有就安装18.04,安装类型选runfile(local)这一系列配置:

采用wget方式下载会比较慢,建议采用迅雷下载到本地再上传服务器,或者其他方式下载。下载好之后,使用

sudo sh cuda_11.2.0_460.27.04_linux.run
运行,如果不能运行,试一下chmod -R 777 cuda_11.2.0_460.27.04_linux.run提权。使用sh脚本安装的过程中会提示已安装驱动,选择continue即可,然后accept。注意在安装时,因为我已经有显卡驱动,所以需要把Driver那个选项按空格键取消,然后选Install安装。

RTX3090+Ubuntu 20.04+tensorflow 2.4.0安装指南_第2张图片

安装完之后配置环境变量:

sudo vim ~/.bashrc
没有vim的自行安装(sudo apt install vim),或使用vi。
在~.bashrc末尾添加:

export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
export PATH=$CUDA_HOME/bin:$PATH

保存之后source ~/.bashrc激活环境变量,如果退出了你自定义的anaconda环境记得重新activate进去。
最后输入nvcc -V验证CUDA是否已安装,并返回版本号等信息。输出信息如下:

在这里插入图片描述

配置对应的cuDNN
首先打开下载地址:https://developer.nvidia.com/rdp/cudnn-download

这里需要登陆或注册Nvidia账号,如果是第一次下载,可能还要填一份调查问卷,然后根据提示选择版本,这里选的是cuDNN Library for Linux (x86_64)

建议采用迅雷下载到本地再上传服务器,或者其他方式下载。下载下来的是cudnn-11.1-linux-x64-v8.0.5.39.tgz文件,上传到服务器之后,可以使用:

tar -zxvf cudnn-11.1-linux-x64-v8.0.5.39.tgz
接下来把cudnn的文件复制到CUDA目录:

sudo cp cuda/lib64/* /usr/local/cuda/lib64/
sudo cp cuda/include/* /usr/local/cuda/include/
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_version.h | grep CUDNN_MAJOR -A 2

输出如下:

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#endif /* CUDNN_VERSION_H */

配置TensoRT
打开下载地址:https://developer.nvidia.com/tensorrt

登陆Nvidia账号,同样的可能会让填一份问卷,提交之后点击立即下载。这里选择版本为"TensorRT 7.2.2.3 for Ubuntu 18.04 and CUDA 11.1 TAR package"

同样把它下载,然后解压并配置:

tar -zxvf TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz
sudo mv TensorRT-7.2.2.3 /usr/local/TensorRT-7.2.2.3
sudo ln -s /usr/local/TensorRT-7.2.2.3 /usr/local/tensorrt
然后配置环境变量,打开:

sudo vim ~/.bashrc
在文件末尾添加:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/tensorrt/lib

然后更新环境变量:

source ~/.bashrc
最后一步
以上步骤安装完之后,可以采用以下代码进行测试

import tensorflow as tf 
print(tf.__version__)
#输出'2.0.0-alpha0'
print(tf.test.is_gpu_available())
#会输出True,则证明安装成功

RTX3090+Ubuntu 20.04+tensorflow 2.4.0安装指南_第3张图片

#输入python,进入python环境
import tensorflow as tf
#查看tensorflow版本
print(tf.__version__)
#输出'2.0.0-alpha0'
#测试GPU能否调用,先查看显卡使用情况
import os 
os.system("nvidia-smi")
#调用显卡
@tf.function
def f():
	pass
f()
#再次查询显卡
os.system("nvidia-smi")

RTX3090+Ubuntu 20.04+tensorflow 2.4.0安装指南_第4张图片

可以对比两次使用情况
如果出现以下错误

Could not load dynamic library ‘libcusolver.so.10’; dlerror: lipen shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/tensorrt/lib
那么可以采用以下解决办法

sudo ln -s /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcusolver.so.11 /usr/local/cuda/lib64/libcusolver.so.10

你可能感兴趣的:(TensorFlow,tensorflow)