0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GPUは認識しているのにgeneratorを使うとcuDNN初期化エラーが出たけど解決した話

Posted at

ドハマりしました。
何とか解決できたので同じ悩みの方のお役に立てるよう解決策をメモします。

#環境

  • Anaconnda
  • GPU : NVIDIA Geforce RTX 2060 with Max-Q
  • tensorflow-gpu : 2.1.0
  • cudatoolkit : 10.1
  • cudnn : 7.6.5

#症状
対応表を見てGPUに合ったTensorflow, CUDA, cuDNNをインストール、GPUが認識され自作CNNでGPUが使えていることまでは確認しました。

しかし、量の多いデータを処理する時にImagegenerator を使ったところ、モデル学習のところで下記エラーが発生。

Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.

調べてもGPUがそもそも認識していない場合の対処方法が多くあまり参考になりませんでした。

#解決法
下記の記事を参考にして解決。
https://note.com/axg28923/n/na41c975d212c

まずAnaconda promptでエラーが吐かれた場所を確認。
Successfully opened dynamic library cudnn64_7.dll
がありcudnn64_7.dllファイルをtennsorflowが読みに行けている。

問題は、
Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILE
とあるのでGPUは動く気はある。問題はメモリ。

環境変数を設定して対応。
windowsの検索窓から「システム環境変数の編集」を選択。
詳細設定から環境変数を選択。
image.png

システム環境変数を新規登録。
変数名は「TF_FORCE_GPU_ALLOW_GROWTH」
変数値は「true」と記入。
image.png

再起動すれば完了。
晴れてcudnnが使えるようになりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?