インストール

説明はInstallationのページに依る.

  1. Pythonを使える環境を前提とする.
  2. Unity2017.1以降の環境で,Unityのインストール時にLinux Build Supportを入れておく.
  3. デスクトップにでも,$ git clone https://github.com/Unity-Technologies/ml-agents.gitしておく.
  4. サブディレクトリpythonで$ pip install .とする.

使用方法

説明はBasic Guideのページに依る.

  1. ml-agentsフォルダ内のサブディレクトリunity-environmentの中身をUnityのプロジェクトに置く.
  2. ファイル > ビルド設定 > プレイヤー設定で,インスペクタに出ているOther SettingsのConfigurationにあるScripting Define SymbolsをENABLE_TENSORFLOWとする.
  3. その数行上のScripting Runtime Versionを.NET 4.x Equivalentにする.(再起動される.)
  4. TensorFlowSharp Pluginをダウンロードする.
  5. ダウンロードしたTFSharpPlugin.unitypackageをAssets > Import Package > Custom Packageで選んでインポート.

サンプルを使ってみる.

  1. プロジェクトのAssets/ML-Agents/Examples/3DBallにある3DBallシーンを開く.
  2. ヒエラルキーのBall3DAcademy > Ball3DBrainにアタッチされているBrainコンポーネントの欄で,Brain TypeをInternal(学習したものを使う状態)にする.
  3. 学習成果が置いてあるAssets/ML-Agents/Examples/3DBall/TFModelsに3DBallというファイルがあるので,先ほどのBrainコンポーネントのGraph Modelにこれを当てはめる.
  4. ゲームを再生すると,ボールの落ちない賢いボードの動かし方が再現される.

学習させる

  1. 学習させるにはBrain TypeをInternalではなくExternalにする.
  2. ターミナルでデスクトップ等においたML-Agentsのpythonディレクトリに移り,$ python3 learn.py --run-id=testid --trainとする.
  3. 再生するとゲーム画面とターミナルが両方動いて学習が始まる.学習の終了はCtrl + C.

学習したものを使う

  1. ML-Agentsのpythonディレクトリに/models/testid/editor_Ball3DAcademy_testid.bytesができたので,学習成果入れであるAssets/ML-Agents/Examples/3DBall/TFModels/に入れる.
  2. あとはサンプル同様にBrain TypeをInternalにして,Graph Modelにこのファイルを設定する.