私は強化学習タスクに取り組んでおり、Q 値の近似に keras NN モデルを使用することにしました。アプローチは一般的です。各アクションの後、報酬はメモリ リプレイ アレイに保存されます。次に、そこからランダムなサンプルを取得し、新しいデータでモデルを適合させますstate-action => reward+predicted_Q
(詳細はこちら)。トレーニングを行うには、トレーニング セット内の各アイテムの Q 値を予測する必要があります。
スクリプトの実行が非常に遅いため、調査を開始しました。プロファイリングは、累積時間の 56,87% が_predict_loopメソッド によって使用されていることを示してい ます。一連の数値の 1 回限りの乗算。私が使用しているモデルは非常に単純です: 8 つの入力、隠れ層の 5 つのノード、1 つの出力。
CUDA をインストールして構成し、いくつかのサンプル テストを実行したところ、GPU が使用されていることが示され、GPU の膨大な負荷も確認できます。コードを実行すると、「Using gpu device 0: GeForce GT 730」というメッセージが表示されますが、GPU の負荷が非常に低い(約 10%) ことがわかります。
予測関数に時間がかかるのは普通ですか? この計算に GPU を使用する方法はありますか?