ML-Agents
インストール
説明はInstallationのページに依る.
- Pythonを使える環境を前提とする.
- Unity2017.1以降の環境で,Unityのインストール時にLinux Build Supportを入れておく.
- デスクトップにでも,
$ git clone https://github.com/Unity-Technologies/ml-agents.git
しておく. - サブディレクトリpythonで
$ pip install .
とする.
使用方法
説明はBasic Guideのページに依る.
- ml-agentsフォルダ内のサブディレクトリunity-environmentの中身をUnityのプロジェクトに置く.
- ファイル > ビルド設定 > プレイヤー設定で,インスペクタに出ているOther SettingsのConfigurationにあるScripting Define Symbolsを
ENABLE_TENSORFLOW
とする. - その数行上のScripting Runtime Versionを
.NET 4.x Equivalent
にする.(再起動される.) - TensorFlowSharp Pluginをダウンロードする.
- ダウンロードしたTFSharpPlugin.unitypackageをAssets > Import Package > Custom Packageで選んでインポート.
サンプルを使ってみる.
- プロジェクトの
Assets/ML-Agents/Examples/3DBall
にある3DBallシーンを開く. - ヒエラルキーのBall3DAcademy > Ball3DBrainにアタッチされているBrainコンポーネントの欄で,Brain TypeをInternal(学習したものを使う状態)にする.
- 学習成果が置いてある
Assets/ML-Agents/Examples/3DBall/TFModels
に3DBallというファイルがあるので,先ほどのBrainコンポーネントのGraph Modelにこれを当てはめる. - ゲームを再生すると,ボールの落ちない賢いボードの動かし方が再現される.
学習させる
- 学習させるにはBrain TypeをInternalではなくExternalにする.
- ターミナルでデスクトップ等においたML-Agentsのpythonディレクトリに移り,
$ python3 learn.py --run-id=testid --train
とする. - 再生するとゲーム画面とターミナルが両方動いて学習が始まる.学習の終了はCtrl + C.
学習したものを使う
- ML-Agentsのpythonディレクトリに
/models/testid/editor_Ball3DAcademy_testid.bytes
ができたので,学習成果入れであるAssets/ML-Agents/Examples/3DBall/TFModels/
に入れる. - あとはサンプル同様にBrain TypeをInternalにして,Graph Modelにこのファイルを設定する.