強化学習のメモリ不足の解消法

20 views (last 30 days)
拓生 香山
拓生 香山 on 23 Aug 2022
Commented: 拓生 香山 on 25 Aug 2022
お世話になっております。
現在、simulinkを用いて強化学習の解析を流しております。
エピソード数を現在は500episodeに設定しております。
以前、200episodeで解析を流していた際は、このようなエラーは出ていませんでしたが、
現在は下記のようなエラー内容が表示されており、385episodeの時点で学習が止まっております。
使用しているメモリを確認したところ、Dドライブには400GB相当の容量が残っているのにも関わらず、
メモリ不足に陥っております。
このようなエラーの対処法がご存じの方がいらっしゃいましたら、お教え頂ければ幸いです。
どうぞよろしくお願いいたします。
------------------------------------------------------------------------------------------------------------------------------------------
使い方によるエラー rl.train.SeriesTrainer/run
次の RL Agent ブロックを含むモデル 'EAHEs' のシミュレーションの実行中にエラーが発生しました。
EAHEs/RL Agent
エラー: rl.train.TrainingManager/train (行 429)
run(trainer);
エラー: rl.train.TrainingManager/run (行 218)
train(this);
エラー: rl.agent.AbstractAgent/train (行 83)
trainingResult = run(trainMgr,checkpoint);
エラー: rensei (行 145)
trainResults=train(agent,env,opts); %学習開始
原因:
使い方によるエラー rl.env.internal.reportSimulinkSimError
ワークスペースに変数 'logsout' を作成できません
使い方によるエラー rl.env.internal.reportSimulinkSimError
メモリが足りません。
------------------------------------------------------------------------------------------------------------------------------------------

Accepted Answer

Toshinobu Shintai
Toshinobu Shintai on 23 Aug 2022
> ワークスペースに変数 'logsout' を作成できません
というメッセージから推測ですが、強化学習の385回の実行でログされたシミュレーションデータインスペクターのログデータが大きすぎるため、エラーとなったのではと考えられます。
シミュレーションデータインスペクターはデフォルトではTEMPDIRにデータを記録します。TEMPDIRの実際の場所を確認するには、コマンドウィンドウで以下を実行してください。
tempdir
おそらく、CドライブのAppData\Local\Tempになっているのではないでしょうか。
Dドライブの容量をシミュレーションデータインスペクターのログデータ保存場所に割り当てることもできます。詳細についてはこちらをご参照ください。
  1 Comment
拓生 香山
拓生 香山 on 25 Aug 2022
いつもお世話になっております。
ご回答いただいた内容を参考にし、シミュレーションデータインスペクターの記録モードをシミュレーション中のみ表示に変更しました。
先ほど解析を確認したところ、先ほど500episodeが終了しておりました。
ご回答ありがとうございました。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!