解決tensorflow-gpu安裝過程中出現的tf.test.is_gpu_avaiable()傳回false的一部分解決方法
Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found
說起安裝tensorflow-gpu的時候出現的一些坑就有點郁悶寫個部落格記錄一下這一些坑,也算給後人一點解決方法
Question Ⅰ
第一種出現在
import tensorflow as tf
的時候,看截圖!

這玩樣我一開始安裝的時候看别人的教程裡貌似也有這問題,就沒管它,以為沒事情,後來最後的最後,我才發現是我想多了,這玩樣解決方法其實很簡單也很暴力,不就是沒找到
cudart64_101.dll
這個檔案嘛,直接搜尋,然後找到你電腦裡的
cudart64_101.dll
,一般在這個目錄下
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
會有這樣的一個檔案,然後
Ctrl-C
,進入
C:\Windows\System32
目錄,來個
Cril-V
,over,解決!再來一次你就會發現,哎,他好了
Question Ⅱ
接下來就是那萬惡的GPU問題了
測試的時候輸入
tf.test.is_gpu_available()
,然後出現
得嘞,一大堆東西,前面一個waring不用管,出現這個警告的原因是TF2裡面這行語句改了,不用管,他自動幫你轉換了,直接看最後一行,好家夥,
False
,毫無疑問,沒連上GPU啊
噢,插句題外話,有些教程裡會讓你輸入來測試,然後你會發現,他會出現這樣的一個報錯
tf.Session()
這是因為這句話是![]()
解決tensorflow-gpu安裝過程中出現的tf.test.is_gpu_avaiable()傳回false的一部分解決方法 的一個文法,在
tensorflow1.*
把這句話改成了
tensorflow2.*
,輸入這個以後就會顯示對應的資訊了
tf.compat.v1.Session()
![]()
解決tensorflow-gpu安裝過程中出現的tf.test.is_gpu_avaiable()傳回false的一部分解決方法
這裡有幾種可能,我主要講一下我遇到的,其他的我也就給個其他部落客的連結了,畢竟沒遇到嘛
CUDA、cuDNN、tensorflow版本不一緻
對應版本的話,可以看這位部落客整理的,還是目前比較的全的https://blog.csdn.net/K1052176873/article/details/114526086
當然也可以直接上官網https://tensorflow.google.cn/install/source_windows?hl=en#gpu
這個問題其實我很久以前遇到的,那時候我在裝
Pytorch
,那次以後我就把這玩樣全部配好了,這次出現的也不是這個問題,我這裡就給出我當時的幾種解決思路。
- 第一種是看看這三個版本對不對應,如果不對應的話可能就需要重新安裝一下cuda,主要是CUDA版本,貌似cuDNN版本高一點沒啥太大關系,我電腦上的cuDNN也是8.0的而不是表裡的7.4。這個的話我就不給連結了,百度一搜太多了,基本上都是講這個問題的,我也沒有看哪個比較的好,是以就自行搜一下吧。
- 第二種也是我當初遇到的問題,顯示卡驅動版本過低了,我當初可是被這個坑的不輕,我一直在找CUDA的問題,最終确實驅動的鍋。這種的話,你可以下載下傳一個
,官網:https://www.nvidia.cn/geforce/drivers/,它會自動給你更新驅動,不過這東西它需要登入,首次登入要驗證郵箱,驗證郵件發過來呢又非常的慢,甚至出現一個周才到也是有可能的(别懷疑,我真的遇到過),so,可以選擇手動下載下傳安裝驅動,在官網裡也有,選擇對應的資訊就好了GeForce Experience
- 第三種是PATH内配置的的問題,在PATH裡有兩條是需要手動配的,如下,如果沒有配的話,也是有可能出現這個問題的
解決tensorflow-gpu安裝過程中出現的tf.test.is_gpu_avaiable()傳回false的一部分解決方法
yes,各位看到的是一條報錯資訊,就是這條報錯導緻我輸出
False
,我當時最後發現這玩樣然後改完後有點想口吐芬芳,就說啊,其他架構可以調用GPU,咋就你TF不行。這段報錯出現在
tf.test.is_gpu_available()
的輸出裡,可以仔細悄悄,如果有的話,那解決方法......前面說了複制粘貼的事情,請看Question I
當我改完這個以後,它就....
True
了????
沒安裝GPU版本
這個問題,enmm......,也不是不可能出現,如果裝的是CPU版本的話,那肯定是調用不了GPU的,乖乖卸了重裝吧
驗證方法的話,進入tensorflow環境,python下運作下面這些代碼
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
看看輸出(圖檔來自于https://blog.csdn.net/qq_37902216/article/details/89556068)
這種的話是CPU版本
如果是GPU版本的話,應該會有這樣的一段
(因為這個是我寫這篇部落格時候想到的,那時候我已經解決那個
False
問題了,但應該在輸出裡也會有明顯的GPU字樣,或者反向思維,不是CPU版本那肯定就是GPU版本了)
解除安裝
pip uninstall tensorflow
安裝
pip install tensorflow-gpu==版本号
然後重新驗證一下
主要應該就這些了,如果還有其他的其實可以看一看那一大段輸出,或許在裡面就會找到答案,我其他的也沒遇到過,也不好在此談論,希望這篇部落格對大家能有所幫助。
如有錯誤,歡迎指正!
同時釋出在CSDN:https://blog.csdn.net/tangkcc/article/details/120510152