Unityで歩行の学習

ゲームエンジンとして有名なUnityを使ってモデルを配置します。

そしてそのモデルに歩行動作を学習させてみます。

環境導入

基本的な部分は前回3DBallの学習で行っていることになるのでまずはそれを参照してみてください。

必要なツール等

Unity Hub

今回のシミュレーション環境です。

https://unity3d.com/jp/get-unity/download

ml-agents

GitHubからダウンロードします。オブジェクトやスクリプト、モデルが入ったライブラリです。

https://github.com/Unity-Technologies/ml-agents

Anaconda

こちらは学習させるため環境です。Python,Anaconda promptなど必要なパッケージが一通りそろっておりこれをインストールするだけで学習環境が整います。(データ容量は大きいです)

https://www.anaconda.com/distribution/

Python 3.7を選択してください。

コマンドラインでの環境構築

基本的な部分は前記事にて書いているのでそちら参照して同じようにやれば問題ありません。

今回はml-agentsのWalkerというシーンを使って歩行の学習を行ってみます。

先ほどインストールしたml-agents-masterを開きます。

以下のディレクリまで移動します。

ml-agents-master->UnitySDK->Assets->ML-Agents->Examples->Walker->Scene

移動したらWalker.unityを開いてください

まずは実行させてみましょう。

既に学習モデルは用意されているのでとりあえず動作確認する場合に活用できます。

Playボタンを押してください。

学習させてみる

ではこのシーンを使って学習させたいと思います。

Anaconda Promptを開きます。

最初に以下のコマンドを入力してください。

>activate ml-agents

そしてディレクトリ移動します。

>cd desktop\ml-agents-master

私の場合はデスクトップに保存したのでこれでいいですが、違う場所にライブラリを保存したならその場所を指定するように変更してください。

ここで学習開始させるためのコマンドを入力

>mlagents-learn config/trainer_config.yaml –run-id=firstRun –train

Unity側に戻ってhierarchyのWalkerAcademyを選択し、InspectorのWallker Academy(Script)のControllにチェックを入れます。

そしてUnityのPlayボタンを押してください

学習が開始されました。

コマンドライン

3000stepごとにログに記録されます。

50000stepを超えたところで学習したモデルが保存されます。その後も学習は続くようなので任意のタイミングで学習を終わらせます。

Ctrl+Cです

学習モデルの保存場所は

WalkerLearning.nnが学習モデルになります。

これをUnitySDKのAssetsに保存

先ほどのチェックを外します。

Brainsのところに先ほど学習したモデルを選択します。

BrainsフォルダにWalkerLearningがあるので選択し、Modelの右の丸いボダンをクリック

その中からWalkerLearningを選択します。

これでUnityのPlayボタンで実行します。

学習が足りなかったのか何度もこけていることが分かります。(笑)

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA