1. 程式人生 > 程式設計 >詳解Tensorflow不同版本要求與CUDA及CUDNN版本對應關係

詳解Tensorflow不同版本要求與CUDA及CUDNN版本對應關係

參考官網地址:

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

詳解Tensorflow不同版本要求與CUDA及CUDNN版本對應關係

我們看到我的GPU的驅動程式版本是:384.81

2.CUDA runtime version(執行時版本):是在python中安裝的cudatoolkit和cudnn程式包的版本

檢視命令:pip list

詳解Tensorflow不同版本要求與CUDA及CUDNN版本對應關係

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 uninstallcudnn ;pip uninstallcudatoolkit

然後安裝對應版本的cudatoolkit和cudnn程式包:pip installcudatoolkit=9.0;pip installcudnn

5.為什麼會出現這種情況呢:

一般出現這種情況是因為在python中安裝tensorflow的gpu版本時,pip會檢查tensorflow依賴的其他的包,如果依賴的包沒有安裝,則會先安裝最新版本的依賴包。這時候tensorflow的gpu版本依賴cudatoolkit和cudnn程式包,pip就會安裝最新版本的cudatoolkit和cudnn程式包,最終導致gpu驅動版本和cuda執行時版本不匹配。

到此這篇關於詳解Tensorflow不同版本要求與CUDA及CUDNN版本對應關係的文章就介紹到這了,更多相關Tensorflow CUDA及CUDNN版本對應內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!