Windows 10でディープラーニングプログラムを実行するとGPUを呼び出せない問題(解決済み)

Win10 でディープラーニングを実行する方法を説明するのは非常に難しいですが、私は Windows システムの使用には慣れていますが、過去には Ubuntu システムを使用したことがありますが、Ubuntu システムでドキュメントを書くことにあまり慣れていないため、主に Win10 をメインツールとして使用する私自身の実験プロジェクトです。

keras2.3.1を使用しているのですが、プログラムの一部のコードを変更した後、モデルを実行するたびにモデルが中断されてしまいます。

同様の問題が再び忘れられるのを防ぐために記録してください。

プログラムの実行中にタスク マネージャーを開くと、常にこのように表示されます。

GPU にはまったく出力がありません。あなたは少なくとも 980Ti だと思います。何も貢献しないなら、何の役にも立ちませんか?

pycharmのターミナルに「python」と入力してPython環境に入ります。

Pythonで次のコードを入力してください

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

ターミナルで見つかりました

 

 問題が見つかりました、GPU が検出されませんでした

CPU は 1 つだけ (-1)

私の調査と研究分析の結果、多くの問題があるかもしれません(血と涙の歴史)

 1. tensorflow のバージョンがグラフィックス カードのバージョンに対応していません (または、対応する GPU のバージョンがインストールされていません)。

 

2. cudnn は、cuda、対応する Python バージョン、および対応する tensorflow または keras バージョンに対応しません。

1 と 2 の解決策は非常に簡単です。対応するバージョンを見つけて再インストールするだけです。多くのオンライン チュートリアルがあり、コードを使用してターミナルに読み込むものもあれば、NVIDIA 公式 Web サイトからファイルをダウンロードしてインストールするものもあります. これらの方法はすべて受け入れられます。

グラフィックス カード ドライバーを再インストールしたり、グラフィックス カード ドライバーを更新したりすることもできますが、私の問題はここではないため、詳細は説明しませんが、それでも試してみる必要があります。

3. コードは GPU を呼び出しません

実行中のプログラムの先頭に次のコードを入力してみてください。

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"	#使用的gpu的编号,使用第 0 个

しかし、明らかに私の GPU はそれを認識できず、問題はここにありません。

4. anaconda配下の環境がpycharmに入力されていない

これは私の問題です

conda配下に作成した環境はpycharmのファイル設定に入ります

プロジェクト内のインタープリターを選択 

右側の Python インタープリターで、必要な conda 環境を選択します 

しかし

しかし

私のコンピューターの pycharm では、この仮想環境に入りませんでした。理由はまだわかりません。他のコンピューターでも同じ設定を使用できます。

たとえば、pycharm ターミナルに次のように入力します。

conda info --envs

見つけます

私のプログラムはまだ pycharm の基本環境にあります。作成された仮想環境ではなく 

https://zhuanlan.zhihu.com/p/441469719

上記の方法を使用した後、

これはエントリーとみなされます(私の個人的な意見) 

5. 必要な CUDA コンポーネントの欠如 (個人的には、Win10 実行プログラムのバグではないかと考えています。これは、まだ見つかっていない核心的な問題でもあります)

以前は、多かれ少なかれ、cudnn の特定のコンポーネントが欠落しているというプロンプトが常に表示されていましたが、私は注意を払いませんでした。環境問題の解決に集中しました。環境問題が解決された後は、同様のプロンプトは表示されませんでした。

またやっとわかったと思ったら

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

結果

まだ認識できません。(間違ったコードを入力したという愚かな間違いを何度か犯したことは無視してください...)

下記の当時の研究記録から判断すると、あまり良い気分ではありませんでした。

しかし、懸命な努力が報われ、献身的に取り組んだ人々が問題を発見しました。

zlibwapi.dll が見つかりませんでした。ライブラリ パスにあることを確認してください。

公式 Web サイトから必要なコンポーネントをダウンロードし、パスに追加します。

公式サイトアドレス

https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-zlib-windows

 パスに追加または cuda に追加

このコンピュータを右クリック ---- プロパティ ---- システムの詳細設定

 

 環境変数 ------パス--------追加

zlib123.dll.zipを解凍した後のzlibwaip.dllのパスをパス path に追加します。

もう一度試してください

 1 と 0 の 2 枚のカードがあります。

CPUもGPUも認識できる

解決しました。花を散らす

まとめると、能力があれば、中国語の資料を読むだけでなく、Google で英語のフォーラムや公式 Web サイトの情報を参照することもできますし、他の言語を使用すると、より多くのアイデアを参照することができます。

 

 

 

 

おすすめ

転載: blog.csdn.net/qq_44104483/article/details/125521779