はじめに
ML-Agentsのドキュメントの流れを日本語として残しました。
公式サイト https://github.com/Unity-Technologies/ml-agents
ドキュメント https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Readme.md
まとめ動画
インストール
Unity
・Unity 2017.4 or Later:https://store.unity.com/download (Unity持ってない人のみ)
・ML-Agents Toolkit:git clone https://github.com/Unity-Technologies/ml-agents.git
(ターミナルで実行すればml-agentsフォルダが出来上がる)
PythonとML-Agentsパッケージのインストール
Windows Users
後日記入:https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation-Windows.md
Mac and Unix Users
・Python3.6:https://www.python.org/downloads/
・pip3:https://packaging.python.org/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers (pip3を持ってない人のみ)
ターミナルで ml-agents>ml-agentsディレクトリまで移動し、以下を実行
pip3 install .
うまくインストールできていれば、上層のml-agentsディレクトリで
mlagents-learn --help
を入力すれば以下が表示される(表示されないならコメントください)。
UnityにML-Agentsを導入する
- Unityを起動
- 先ほどのml-agentsフォルダのUnitySDKプロジェクトを開く
- Edit>Project Setting > Playerで以下を設定 (.Net4.x とENABLE_TENSORFLOW)
- File>Save Project
TensorFlowSharp pluginをダウンロードしてUnityにインポートする
https://s3.amazonaws.com/unity-ml-agents/0.5/TFSharpPlugin.unitypackage
インポートはここからダウンロードしたプラグインを選べばできる
サンプル
ここではサンプルである、3DBallを動かす。
UnityエディタでAssets/ML-Agents/Examples/3DBall
内にある3DBallのsceneを開く.
3DBallの学習済モデルを動かす
学習済モデルである
Assets/ML-Agents/Examples/3DBall/TFModels
内の3DBall
をGraph Model
に設定する
- Unityエディタで再生ボタンを押せば学習済モデルの動作確認をすることができる
まとめ:学習済モデルを確認する場合は、BrainをInternal
にし、Graph Mpdel
にデータを設定して再生する
学習モデルを作成する(学習させる)
Unityエディタの準備
学習は外部で行われるので、Unityがバックグラウンドで動作でき、不必要な表示がでないように設定する。そのために以下のように
PlayerSettingsを設定する
- Run in Background
にチェック
- Display Resolution DialogをDisabled
学習
- 先ほどBrainを
Internal
としたが、学習させる場合はExternal
とする。 - ターミナルを開いて、ml-agentsディレクトリ(mlagents-learn --helpが正常に表示される場所)で以下のコマンドを実行する
mlagents-learn config/trainer_config.yaml --run-id=firstRun --train
うまくいけば以下の画像が表示されるので、Unityエディタに戻り、再生ボタンをおす。
学習が終了すれば、Ctrl+C
を押して実行を終了する。
-
UnitySDK/Assets/ML-Agents/Examples/3DBall/TFModels/
フォルダに******.bytes
ファイルができているので、UnityエディタのAssets/ML-Agents/Examples/3DBall/TFModels
にドラッグする - 後は上で行ったようにBrainを
Internal
にし、Graph Mpdel
に生成されたデータを設定して再生すれば確認できる
次への課題
次は、自作アプリに応用する場合の記事を書く