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 版本 | cuDNN | CUDA |
---|---|---|---|
tensorflow-2.10.0 | 3.8 | 8.1 | 11.2 |
tensorflow-2.9.21 | 8.1 | 11.2.2 |
2 系统环境
下面是测试过的系统环境
显卡 | 系统 | 虚拟环境 |
---|---|---|
RTX2070 | Ubuntu 18.04 LTS | Anaconda3 |
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 ↩︎