0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ml-agentsのstepとframeの関係がよく分からなかったので調べてみた。

Last updated at Posted at 2020-12-04

結論

  • Update => 可変
  • OnActionReceived => 50/s (Fixed Timestep依存) = step
  • CollectObservations, Heuristic => 10/s = Desicion Period * step

ML-Agentsのセンサーに、加速度と重力方向を渡そうと思ったら、自分がフレームとステップの関係をよく理解できていなかったことが原因でうまく行かなかったのでまとめてみました。

Update関数の呼ばれる頻度

可変。Updateは画面のリフレッシュレートに応じて、1秒あたりに呼ばれる回数が決まっていない。これはUnityの基本。

OnActionReceivedの呼ばれる頻度

固定。画面のリフレッシュレートに関係なく、1秒当たり固定回呼ばれ、これ1回が1stepに相当する。
FixedUpdate関数の呼ばれる頻度で処理しているようで、プロジェクトの設定からFixed Timestepを変更すると変わってしまうため注意が必要。規定だと1秒に50回実行。

CollectObservations, Heuristicの呼ばれる頻度

コンポーネント「Decision Requester」で設定している「Decision Period」の数だけstepが進むと実行される。
既定値の5が設定されている場合、Fixed Timestepが規定値の「0.02」であれば、5/50で1秒当たり10回呼び出される。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?