tensorflow 2.10.0安装所需依赖库版本确定方法

  • 1 依赖版本组合
  • 2 系统环境
  • 3 依赖版本确定方法
    • 3.1推理法
      • 3.1.1 TensorFlow依赖范围
      • 3.1.2 显卡驱动支持范围
      • 3.1.3 查阅官方测试表
      • 3.1.4 Anaconda自动确定
    • 3.2 Docker法
  • 4 测试
  • 4 报错处理
    • 4.1 无法找到cuda或cudnn依赖库
    • 4.2 cuBLAS和libnvinfer报错

TensorFlow 2.10.0已于近日发布,但是目前网上鲜有该版本的安装教程,且官方测试的Python、CUDA、cuDNN版本配置没有更新(截至本文发表前,更新至2.6.0)。故本文对TensorFlow 2.10.0在Anaconda安装所需依赖库版本确定方法进行阐述,其完整安装教程可参考这里

1 依赖版本组合

先直接放出经过我或网友测试过的依赖版本组合,安装方法与其他版本大同小异。

版本Python 版本cuDNNCUDA
tensorflow-2.10.03.88.111.2
tensorflow-2.9.218.111.2.2

2 系统环境

下面是测试过的系统环境

显卡系统虚拟环境
RTX2070Ubuntu 18.04 LTSAnaconda3

3 依赖版本确定方法

3.1推理法

3.1.1 TensorFlow依赖范围

假设目前已经安装完成TensorFlow本体,而未安装GPU依赖,运行任一调用Tensorflow的程序,如:

python#进入python环境import tensorflow as tf#导入tensorflow

则打印的信息如下所示,可以看到其调用的cuda版本为11,cudnn版本为8,故由此判cuda 11.*cudnn 8.*等所有版本为我们接下来考虑的范围。

...... Could not load dynamic library 'libcudart.so.11.0' ......... Could not load dynamic library 'libcudnn.so.8' ......

3.1.2 显卡驱动支持范围

打印显卡相关信息

nvidia-smi

打印如下图,可见本却东最高支持cuda 11.4

3.1.3 查阅官方测试表

由以上方法可以判断,CUDA版本只能在11.0~11.4之间选择,我们从官方测试过的版本组合得出最新版TensorFlow 2.6.0使用CUDA 11.2和cuDNN8.1。故CUDA版本可以11.2~11.4之间选择。

3.1.4 Anaconda自动确定

查询conda中cuDNN对CUDA版本的支持范围

conda search cudnn --info

从打印信息中可以找到如下信息,说明cudnn 8.1.0.77 h90431f1_0,支持- cudatoolkit 11.*

cudnn 8.1.0.77 h90431f1_0-------------------------file name   : cudnn-8.1.0.77-h90431f1_0.tar.bz2name        : cudnnversion     : 8.1.0.77build       : h90431f1_0build number: 0size        : 634.8 MBlicense     : cuDNN Software License Agreementsubdir      : linux-64url         : https://conda.anaconda.org/conda-forge/linux-64/cudnn-8.1.0.77-h90431f1_0.tar.bz2md5         : 7b8da042080da30d6d1c00d2924d3f7ctimestamp   : 2021-02-24 23:51:26 UTCdependencies:   - __glibc >=2.17,<3.0.a0  - cudatoolkit 11.*  - libgcc-ng >=3.0  - libstdcxx-ng >=3.4

故暂定安装cuda 11.2

conda install cudatoolkit=11.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/

接下来直接进行安装cuDNN 8.1,conda会自动选择合适的小版本进行安装

conda install cudnn=8.1 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/

综上,我们完成Tensorlow的依赖环境库版本的确认。
注意上面我们使用-c关键字使用了清华源,但是conda在中国的镜像源有时会不稳定,可以试试境内的其他镜像源,参考这里还有

https://github.com/google-research/multinerf/issues/47#issuecomment-1262495402 ↩︎