親測: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運行時版本不匹配。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章