我注意到一些较新的TensorFlow版本与较旧的CUDA和cuDNN版本不兼容。是否存在兼容版本的概述,甚至官方测试的组合列表?我在TensorFlow文档中找不到它。
当前回答
你可以在cuda 10.0上使用这个配置(10.1在3月18日不能工作),这为我运行:
tensorflow > = 1.12.0 tensorflow_gpu > = 1.4
安装tensorflow版本:
pip install tensorflow-gpu==1.4.0
其他回答
TL;DR)参见以下表格:https://www.tensorflow.org/install/source#gpu
一般来说:
查看CUDA版本:
cat /usr/local/cuda/version.txt
和cuDNN版本:
grep CUDNN_MAJOR -A 2 /usr/local/cuda/include/cudnn.h
并安装如下所示的图像或这里的组合。
下面的图片和链接提供了在Linux、macOS和Windows上官方支持/测试的CUDA和TensorFlow组合的概述:
小配置:
由于下面给出的规范在某些情况下可能过于宽泛,下面是一个特定的配置:
tensorflow-gpu = = 1.12。 cuda = = 9。 cuDNN = = 7。1。4
相应的资料可在此下载。
测试的构建配置
请参考https://www.tensorflow.org/install/source#gpu获得最新的兼容性图表(官方TF车轮)。
(数据于2020年5月20日更新)
Linux GPU
Linux CPU
一样GPU
CPU一样
Windows GPU
Windows CPU
2020年12月5日更新:有关更新信息,请参阅Link For Linux和Link For Windows。
tensorflow站点中给出的兼容性表不包含cuda和cuDNN的特定小版本。但是,如果不满足特定的版本,在尝试使用tensorflow时会出现错误。
对于tensorflow-gpu==1.12.0和cuda==9.0,兼容的cuDNN版本是7.1.4,注册后可以从这里下载。
你可以检查你的cuda版本使用 学校网站——版本
使用cuDNN版本 cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2 .单击“确定”
使用Tensorflow-gpu版本 PIP freeze | grep tensorflow-gpu
更新: 由于tensorflow 2.0已经发布,我将分享它兼容的cuda和cuDNN版本(适用于Ubuntu 18.04)。
Tensorflow-gpu = 2.0.0 Cuda = 10.0 cuDNN = 7.6.0
如果你在jupyter笔记本上编码,并且想要检查tf使用的cuda版本,直接在jupyter单元中运行以下命令:
!conda list cudatoolkit
!conda list cudnn
检查gpu对tf是否可见:
tf.test.is_gpu_available(
cuda_only=False, min_cuda_compute_capability=None
)
你可以在cuda 10.0上使用这个配置(10.1在3月18日不能工作),这为我运行:
tensorflow > = 1.12.0 tensorflow_gpu > = 1.4
安装tensorflow版本:
pip install tensorflow-gpu==1.4.0
谢谢你的第一个回答。
关于向后兼容性。
我可以用cuda-11.1和cudn 8.0.5成功安装tensorflow-2.4.0。
来源:https://www.tensorflow.org/install/source gpu
推荐文章
- 如何验证CuDNN安装?
- 未初始化的常量ActiveSupport::Dependencies::Mutex (NameError)
- 如何在Windows上运行多个Python版本
- 如何同时安装Python 2。3. Python。Windows下的x
- Flutter:升级游戏商店的版本代码
- 如何在使用新语言特性的程序中检查Python版本?
- nvcc和NVIDIA-smi显示的不同CUDA版本
- 无法安装包由于一个环境错误:[WinError 5]访问被拒绝:
- 我的iphone应用程序如何检测自己的版本号?
- 如何检查CocoaPods框架的版本
- 检查Redis服务器版本
- 我想从Java日期中获得年,月,日等,以与Java中的公历日期进行比较。这可能吗?
- 如何检查Gradle依赖是否有新版本?
- Android Manifest中的versionCode vs versionName
- 使用CUDA运行时API检查错误的规范方法是什么?