UnityでML-Agentsを習得しようとして「Unity ML-Agents実践ゲームプログラミング」に沿ってやっていく中で気づいたことの一つになります。
ちょっとしたことですがこれも備忘録として残しておきます。
リンク
1.学習と結果
この本に沿って学習していく場合、学習をさせるためにはコマンドプロンプトにて以下のような入力をします。
mlagents-learn ./config/RollerBall.yaml --run-id=RollerBall-1
すると、たとえば以下のようなフォルダに
C:\Users\********\helloworld\ml-agents-release_19\results\RollerBall-1
RollerBall.onnx
のような生成されたモデルのファイルができます。
2.モデルによる動作確認
このモデルのファイルを使用してモデルによる動作確認をするためには以下のようにします。
まずこのファイルをUnity側のproject内にドラッグアンドドロップします。
その後Agent内のBehavior Parametersのモデルにドラッグアンドドロップすることでこのモデルで動作させることができます。
自分たちの場合高速で学習させるために作成したもの一式プレハブ化して画面内にいくつもコピーして動かしていました。
はじめてやった時や久しぶりにやった時の話ですが、project内からこのプレハブをクリックして開いたプレハブ側のモデルにドラッグアンドドロップしたてみたのですがこの状態では動作しませんでした。
プレハブから戻って通常のproject内でAgentのインスペクター内にドラッグアンドドロップしたところ動作しました。
こんなことをする人はあまりいないかもしれませんが、以上が、ML-Agentsで学習して生成したモデルで動作させる時のちょっとした注意事項になります。