Tensorflow-GPUトレーニングMTCNNエラー-cudnnハンドルを作成できませんでした:CUDNN_STATUS_NOT_INITIALIZED

私の環境:

tensorflow-gpu 1.15
cuda 10.0
cudnn 7.6.4

エラー元の画像:

E tensorflow / stream_executor / cuda / cuda_dnn.cc:329] cudnnハンドルを作成できませんでした:CUDNN_STATUS_ALLOC_FAILEDここに写真の説明を挿入

理由と解決策:

tensorflow-gpuとcudaおよびcudnnのバージョンの関係が原因でエラーが報告された場合は、対応するバージョンを再インストールする必要があります。私が提供したバージョンを参照できます。
関連する構成にエラーがない場合は、テンソルフローのgpuバージョンを正常に呼び出すことができます。現時点では、このエラーはバージョンの不一致の問題ではありません。厳密に言えば、グラフィックカードはそのインターフェイスと互換性がなく、通常はビデオメモリに適用できません。 、ビデオメモリ設定に問題があります。CUDNN_STATUS_ALLOC_FAILE。この英語から明らかなことです。それが意味することです。次に、
tensorflow.compat.v1
からpythonファイルに次のコードを追加するだけで済みます。tensorflow.compat.v1からConfigProtoをインポートします。 InteractiveSessionをインポートする

config = ConfigProto()config.gpu_options.allow_growth
= True
session = InteractiveSession(config = config)

#### config = ConfigProto()を使用して、セッションパラメータを構成できます。多くの場合、allow_soft_placement = Falseは、tfが既存の使用可能なデバイスを自動的に選択して操作を実行できないことを意味し、log_device_placement = Falseはログを印刷しないことを意味します。使用されるPythonシェル
#### config.gpu_options.allow_growth = Trueは動的ビデオメモリに適用できます
#### session = InteractiveSession(config = config)これはパラメータを有効にするためです

解決後の結果の図:

ここに写真の説明を挿入
プログラムは正常に実行され、各反復後の精度、分類の損失、bboxの損失、ランドマークの損失などが出力されます。

補足
プログラムの実行中にtensorflowバージョンの互換性の問題があり、使用しているtensorlfowが2.0未満で、実行しているプログラムが2.0を超えている場合、直接アンインストールして再インストールしたくない場合は、直接介して
インポートtensorflow TFはとして
置換
インポートtensorflow.compat.v1 AS TF
tf.disable_v2_behavior()

おすすめ

転載: blog.csdn.net/m0_51004308/article/details/112779725