web-dev-qa-db-ja.com

KerasとTensorflowを使用したNVIDIA GPUの使用率が低い

私は、Windows 10でNVIDIA GeForce RTX 2080 Tiを搭載したkeras-gpuおよびtensorflow-gpuを搭載したCNNを実行しています。私のコンピューターにはIntel Xeon e5-2683 v4 CPU(2.1 GHz)が搭載されています。私はJupyter(最新のAnacondaディストリビューション)を介してコードを実行しています。コマンドターミナルの出力は、GPUが使用されていることを示していますが、実行しているスクリプトは、データのトレーニング/テストに予想よりも時間がかかり、タスクマネージャーを開くと、GPUの使用率が非常に低いようです。これが画像です: enter image description here

CPUは使用されておらず、タスクマネージャーの他の何もが完全に使用されていることを示唆していないことに注意してください。私はイーサネット接続がなく、Wifiに接続しています(これは何にも影響しないと思いますが、JupyterはWebブラウザーを介して実行されるため、確信がありません)。私は、RAM(512GB)にすべてロードされた多くのデータ(〜128GB)についてトレーニングしています。実行しているモデルは、完全にたたみ込みニューラルネットワーク(基本的にはU-ネットアーキテクチャ)で566,290のトレーニング可能なパラメーターを使用します。これまでに試した内容:1.バッチサイズを20から10,000に増やします(GPU使用率を3〜4%から6〜7%に増やし、予想どおりトレーニング時間を大幅に減らします)。 use_multiprocessingをTrueに設定し、model.fitでワーカー数を増やします(影響なし)。

私はこのウェブサイトでインストール手順に従いました: https://www.pugetsystems.com/labs/hpc/The-Best-Way-to-Install-TensorFlow-with-GPU-Support-on-Windows-10 -Without-Installing-CUDA-1187 /#look-at-the-job-run-with-tensorboard

このインストールは特にCuDNNまたはCUDAをインストールしないことに注意してください。私は過去にCUDAでtensorflow-gpuを実行するのに問題がありました(ただし、2年以上試していないので、最新バージョンではそれが簡単かもしれません)が、このインストール方法を使用した理由です。

これは、GPUが完全に利用されていない(CuDNN/CUDAがない)理由と思われますか?専用のGPUメモリ使用量がボトルネックであることと関係がありますか?それとも、私が使用しているネットワークアーキテクチャ(パラメータの数など)と関係があるのでしょうか?

診断に役立つように、私のシステムまたは実行中のコード/データに関する詳細情報が必要な場合は、お知らせください。前もって感謝します!

編集:タスクマネージャーで興味深いことに気づきました。バッチサイズが10,000のエポックには約200秒かかります。各エポックの最後の約5秒間で、GPUの使用率は約15〜17%に増加します(各エポックの最初の195秒間の約6〜7%から増加)。これが役立つか、GPU以外のどこかにボトルネックがあるかどうかはわかりません。

2
A. LaBella

@KDeckerと@OverLordGoldDragonのソリューションを試しても、GPUの使用率が低い場合は、まずデータパイプラインを調査することをお勧めします。次の2つの図は、tensorflow公式ガイド データパフォーマンス からのもので、データパイプラインがGPU効率にどのように影響するかをよく示しています。

enter image description here

enter image description here

ご覧のとおり、トレーニングと並行してデータを準備すると、GPUの使用量が増加します。この状況では、CPU処理がボトルネックになっています。プロセス数、バターのサイズなどの変更など、前処理の待ち時間を隠すメカニズムを見つける必要があります。CPUの効率はGPUの効率と一致している必要があります。このようにして、GPUが最大限に活用されます。

Tensorpack を見てください。入力データパイプラインを高速化する方法の詳細なチュートリアルが含まれています。

0
zihaozhihao

あなたが参照したインストール方法に変更があったようです: https://www.pugetsystems.com/labs/hpc/The-Best-Way-to-Install-TensorFlow-with-GPU-Support- on-Windows-10-Without-Installing-CUDA-1187 簡単になり、発生している問題を解消できるはずです。

重要な編集GPUの実際の計算を見ていないようです、添付の画像を見てください: enter image description here

0
Elegant Code
0
maddy23