[大坑]Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR


報錯tensorflow/stream_executor/cuda/cuda_dnn.cc:338] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

錯誤代碼

2019-05-05 09:34:42.298865: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcublas.so.10.0
2019-05-05 09:34:42.469839: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7
2019-05-05 09:34:43.086143: E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2019-05-05 09:34:43.100978: E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

解決辦法

首先這是一個大坑,在網上找了很多辦法,基本都是改一些GPU運行時候的config,我發現跑有些程序的時候並不奏效;也有是要求降級cuda和cudnn版本,我嘗試了從cuda10.1一路降到9.0,cudnn也一直換,報錯依舊在,仍然不奏效。

為了解決這個問題,我嘗試用docker安裝tensorflow-gpu發現是可以成功運行程序的,但是不太方便,我發現anaconda在虛環境里面使用conda安裝tensorflow-gpu會自動安裝該環境下的cuda和cudnn,並且不會對環境外已經安裝的cuda和cudnn有影響,但是默認安裝的版本比較低,所以,最好的辦法是指定安裝的版本。只需要指定tensorflow的版本即可,cuda和cudnn的版本會對應。

在虛環境下安裝

conda install tensorflow-gpu==1.12

就這一條簡單的命令折騰了好幾天,cuda cudnn tensorflow各種版本都嘗試了,在github上很多人說等待tensorflow新版本修復,確實,這個方法只能暫時解決問題,沒辦法遷移到更高的版本比如tensorflow2.0,所以暫時用的話還是用1.12的吧。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM