详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系

所属分类: 脚本专栏 / python 阅读数: 704
收藏 0 赞 0 分享

参考官网地址:

Windows端:https://tensorflow.google.cn/install/source_windows

CPU

Version Python version Compiler Build tools
tensorflow-1.11.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.10.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.9.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.8.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.7.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.6.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.5.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.4.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.3.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.2.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.1.0 3.5 MSVC 2015 update 3 Cmake v3.6.3
tensorflow-1.0.0 3.5 MSVC 2015 update 3 Cmake v3.6.3

GPU

Version Python version Compiler Build tools cuDNN CUDA
tensorflow_gpu-1.11.0 3.5-3.6 MSVC 2015 update 3 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.9.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.8.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.7.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.6.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.5.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.4.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 6 8
tensorflow_gpu-1.3.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 6 8
tensorflow_gpu-1.2.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.1.0 3.5 MSVC 2015 update 3 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.0.0 3.5 MSVC 2015 update 3 Cmake v3.6.3 5.1 8

Linux端:https://tensorflow.google.cn/install/source

Linux

Version Python version Compiler Build tools
tensorflow-1.11.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.10.0
tensorflow-1.7.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.10.0
tensorflow-1.6.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.9.0
tensorflow-1.5.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.8.0
tensorflow-1.4.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2

Version Python version Compiler Build tools cuDNN CUDA
tensorflow_gpu-1.11.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.9.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.11.0 7 9
tensorflow_gpu-1.8.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.10.0 7 9
tensorflow_gpu-1.7.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.6.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.5.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.8.0 7 9
tensorflow_gpu-1.4.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.5.4 6 8
tensorflow_gpu-1.3.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5 6 8
tensorflow_gpu-1.2.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5 5.1 8
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8

macOS

CPU

Version Python version Compiler Build tools
tensorflow-1.11.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.10.1
tensorflow-1.7.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.10.1
tensorflow-1.6.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.8.1
tensorflow-1.5.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.8.1
tensorflow-1.4.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.4.2

GPU

Version Python version Compiler Build tools cuDNN CUDA
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 Clang from xcode Bazel 0.4.2 5.1 8

tensorflow的CUDA driver version is insufficient for CUDA runtime version 问题解决方案

CUDA driver version is insufficient for CUDA runtime version 翻译过来就是CUDA的驱动程序版本跟CUDA的运行时版本不匹配!

1.CUDA driver version(驱动版本):就是NVIDIA GPU的驱动程序版本;

查看命令:nvidia-smi

我们看到我的GPU的驱动程序版本是:384.81

2.CUDA runtime version(运行时版本):是在python中安装的cudatoolkit和cudnn程序包的版本

查看命令:pip list

python安装的cudatoolkit和cudnn程序包版本是:9.2

3.nvidia 驱动和cuda runtime 版本对应关系

运行时版本   驱动版本
CUDA 9.1     387.xx 
CUDA 9.0     384.xx 
CUDA 8.0     375.xx (GA2) 
CUDA 8.0     367.4x 
CUDA 7.5     352.xx 
CUDA 7.0     346.xx 
CUDA 6.5     340.xx 
CUDA 6.0     331.xx 
CUDA 5.5     319.xx 
CUDA 5.0     304.xx 
CUDA 4.2     295.41 
CUDA 4.1     285.05.33 
CUDA 4.0     270.41.19 
CUDA 3.2     260.19.26 
CUDA 3.1     256.40 
CUDA 3.0     195.36.15

4.解决方案

从驱动和运行时的版本对应关系来看,版本为384.81的驱动程序 对应的 运行时版本是9.0,也就是说我们在python中安装cudatoolkit和cudnn程序包版本9.2是过高了。

因为系统中依赖GPU驱动的程序比较多,一般出现这种情况,我们都是更改cudatoolkit和cudnn程序包的版本。

于是,先卸载python中安装cudatoolkit和cudnn程序包:pip uninstall cudnn ; pip uninstall cudatoolkit

然后安装对应版本的cudatoolkit和cudnn程序包:pip install cudatoolkit=9.0;pip install cudnn

5.为什么会出现这种情况呢:

一般出现这种情况是因为在python中安装tensorflow的gpu版本时,pip会检查tensorflow依赖的其他的包,如果依赖的包没有安装,则会先安装最新版本的依赖包。这时候tensorflow的gpu版本依赖cudatoolkit和cudnn程序包,pip就会安装最新版本的cudatoolkit和cudnn程序包,最终导致gpu驱动版本和cuda运行时版本不匹配。

更多精彩内容其他人还在看

Python实现按特定格式对文件进行读写的方法示例

这篇文章主要介绍了Python实现按特定格式对文件进行读写的方法,可实现文件按原有格式读取与写入的功能,涉及文件的读取、遍历、转换、写入等相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现的多线程同步与互斥锁功能示例

这篇文章主要介绍了Python实现的多线程同步与互斥锁功能,涉及Python多线程及锁机制相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现嵌套列表及字典并按某一元素去重复功能示例

这篇文章主要介绍了Python实现嵌套列表及字典并按某一元素去重复功能,涉及Python列表嵌套列表、列表嵌套字典,及按照某一元素去重复的相关操作方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Python简单读取json文件功能示例

这篇文章主要介绍了Python简单读取json文件功能,结合实例形式分析了Python文件读取及json格式数据相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈python装饰器探究与参数的领取

下面小编就为大家分享一篇浅谈python装饰器探究与参数的领取,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Django的分页器实例(paginator)

下面小编就为大家分享一篇Django的分页器实例(paginator),具有很好的参考价值,希望对大家有所帮助
收藏 0 赞 0 分享

从CentOS安装完成到生成词云python的实例

下面小编就为大家分享一篇从CentOS安装完成到生成词云python的实例,具有很好的参考价值,希望对大家有所帮助
收藏 0 赞 0 分享

Python中单、双下划线的区别总结

这篇文章主要给大家介绍了关于Python中单、双下划线区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
收藏 0 赞 0 分享

vscode 远程调试python的方法

本篇文章主要介绍了vscode 远程调试python的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈python 里面的单下划线与双下划线的区别

这篇文章主要介绍了浅谈python 里面的单下划线与双下划线的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多