前提・実現したいこと
ML-agentsでの強化学習でtensorflow-GPUを正しく機能させたい
発生している問題
現在ML-agentsとAnacondaを用いて強化学習を勉強しており,GPUによる処理で学習を高速化できるとネットで見たためcuda,cudnnとtensorflow-gpuを入れてみたのですが,タスクマネージャーを見てもGPUの使用率は全く上がらずtensorflow-gpuを導入する前と学習速度やCPU負荷が全く変わらない状況です.
学習開始前に一枚目のような表示が出ており,unityのスタートボタンを押すとCPU処理の時とは違い5分ほどunityが処理待ち?で停止(フリーズ)してから学習を開始し,またGPUの名前も表示されるのでGPUは認識されていると思うのですがタスクマネージャーを見てもCPUの使用率が上がるばかりでGPUのメモリ使用率は全く上がっておらず学習速度も向上しているとは思えない状態です.
どのようにすればGPUでの処理が可能になるのでしょうか?
以下にanacondaの表示画面を添付します.
1枚目(yaml実行直後):
試したこと
CUDA,CUDnnのバージョン確認、環境変数の見直し、解説サイトの閲覧
補足情報(FW/ツールのバージョンなど)
CUDAのバージョン:10.1
CUDnnのバージョン:CUDAのv10.1に対応したv7.6.5
tensorflow-gpu:2.3.1
CPU:AMD Ryzen 7 1700
GPU:RTX 3060ti
CUDA,CUDnnのインストール先:Cドライブ(起動ドライブ)
Unity,anacondaのインストール先:Hドライブ
###試したことと追加の質問(2020/12/10追記)
上記の環境で
from tensorflow.python.client import device_lib device_lib.list_local_devices()
を実行したところデバイスタイプがCPUとなっていたためtensorflowのバージョンを落としてみたところGPUの認識に成功しました.
またunity上で100以上のオブジェクトを並べて並列学習を行っていたためもしやCPUの負荷はこれが原因ではないかとサンプルプログラムのほうで改めて学習をさせてみたところCPUの負荷も軽くGPUも使用していたためCPUの負荷はUnityの大量描画が原因であることがわかり,おそらくGPUでの学習に成功しました
しかし
from tensorflow.python.client import device_lib device_lib.list_local_devices()
や学習プログラムを実行した際,GPUを認識するのに10分ほどかかるのですがこれを早めることはできないのでしょうか?また学習中のタスクマネージャーがサンプルと大量描画それぞれのpyhon使用ピーク時で以下のようになっていたのですがGPUによる学習の負荷はこんなものなのでしょうか?
回答1件
あなたの回答
tips
プレビュー