Tensorflowでモデルを回そうとしたところEpoch一回目で、以下のメッセージがでて、その後クラッシュしてしまいました。
Epoch 1/10
2022-04-24 22:44:52.714618: I tensorflow/stream_executor/cuda/cuda_dnn.cc:368] Loaded cuDNN version 8400
cuDNNのバージョンミスマッチでしょうか。
cuDNNが v8.4
Tensorflow v2.8.0
Cudaのバージョンがv11.6になります。
Tensorflowのバージョンはpythonで以下のコードで確認することができます。
import tensorflow as tf print(tf.__version__)
コマンドプロンプト上で以下のコマンドでCudaのバージョンを確認できます。
nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Tue_Mar__8_18:36:24_Pacific_Standard_Time_2022 Cuda compilation tools, release 11.6, V11.6.124 Build cuda_11.6.r11.6/compiler.31057947_0
cuDNNのバージョンはインストールされているディレクトリの
include/cudnn_version.h
のファイルに記載されています。
/** * \file: The master cuDNN version file. */ #ifndef CUDNN_VERSION_H_ #define CUDNN_VERSION_H_ #define CUDNN_MAJOR 8 #define CUDNN_MINOR 4 #define CUDNN_PATCHLEVEL 0 #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL) #endif /* CUDNN_VERSION_H */
とりあえず急ぎではないので以下の方法でGPU無効化してTensorflow自体は動くことは確認済みです。
import os os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
回答はありませんが、同様のエラーの人もいるようですね。
https://forums.developer.nvidia.com/t/use-gpu-for-tensorflow-crashes/208849
追記
やはりcuDNNのバージョンによるものでした。
私の上記環境であれば、cuDNNのv8.2.4 for Cuda 11.4でTensorflowをGPUで動かすことできました。
ちなみにTensorflowの検証済み環境を使用するのが一番無難だとは思います。
www.tensorflow.org