tensorflow: cuda driver version is insufficient for cuda runtime version

cuda driver version is insufficient for cuda runtime version :CUDA的驱动程序版本跟CUDA的运行版本不匹配

背景:anaconda安装的环境

1.cuda driver version(驱动版本):NVIDIA GPU的驱动程序版本

查看命令:nvidia-smi

我的GPU的驱动程序版本是:384.130

tensorflow: cuda driver version is insufficient for cuda runtime version

 

2.cuda runtime version(运行时版本):anaconda中安装的cudatoolkit和cudnn程序包的版本

查看命令:conda list

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

tensorflow: cuda driver version is insufficient for cuda runtime version

 

3.解决方法

(1)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

 

(2)降级

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

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

A.先卸载python中安装cudatoolkit和cudnn程序包:

conda uninstall cudnn

conda uninstall cudatoolkit

B.然后安装对应版本的cudatoolkit和cudnn程序包:

conda install cudatoolkit=9.0

conda install cudnn

 

(3)出现原因:

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

参考:https://blog.csdn.net/li57681522/article/details/82491617