Unity で機械学習(Machine Learning)が行える ML-Agents について、前回 3DBall と言うサンプルを試すために ML-Agents の設定前準備を説明しました。
(URL:ML-Agents の3DBall を試す(サンプルデータ使用)Part1

今回はその設定法の続きと、実行結果を紹介します。
ML-Agents_11
【2.Unityで機械学習環境を構築】

2.1. UnityからML-Agentsプロジェクトをオープン
Unity を起動させ、先ほど解凍したフォルダ内のプロジェクトをオープンします。[ml-agents-master] の下の [unity-environment]フォルダを開きます。
 ML-Agents_12

そして、Projectビューから 3DBall のシーンを開きます。
ML-Agents_13
 

2.2. TFSharpPlugin のインポート
TensorFlow を Unity で使えるようにするパッケージをダウンロードします。以下からダウンロードできます。

https://s3.amazonaws.com/unity-agents/TFSharpPlugin.unitypackage
ML-Agents_14

 
このパッケージ「TFSharpPlugin」を直接Projectビューにドラッグ&ドロップするか、Import Packageからインポートをします。

Import Packageからインポートの場合:
Assets > Import Package > Custom Package...
ML-Agents_15

2.3. ML-Agentsプロジェクトの設定
Unity エディタのメニューから Edit > Project Settings > Player で Player の設定画面を開きます。
 ML-Agents_16

Inspectorビュ-上のPlayer設定画面の「Other Settings」にて、
・「Scripting Runtime Version」を「Experimental (.Net 4.6 Equivalent)」にする。
・「Scripting Defined Symbols」に 「ENABLE_TENSORFLOW」を入力する。
 ML-Agents_17

この後、File > Save Scene と File > Save Project でSceneとProjectを保存します。
そして、一度Unityを閉じて、再度起動します。

【3.3DBallを試してみる】

3.1. 自分自身でプレイしてみる

まずは一度、このシーンの動きを確認するために、自分で操作をしてみましょう。
Hierarchyビュ-上で Ball3DAcademy の下にある「Ball3DBrain」をクリックします。
 ML-Agents_18

Inspectorビュ-上で Brainコンポーネントの「Brain Type」を「Player」にします。
 ML-Agents_19

では、ゲームを実行してみましょう。
プレートを矢印キーで操作できます。一度にこれを操作するのは不可能なので、1つのプレートに集中しても…無理です。
 ML-Agents_20


3.2. サンプルの学習済みデータを使用してみる
再度、Hierarchyビュ-上で Ball3DAcademy の下にある「Ball3DBrain」をクリックします。
 ML-Agents_21

Inspectorビュ-上で Brainコンポーネントの「Brain Type」を「Internal」にします。
 ML-Agents_22

Graph Model を見ると、どの学習済みデータを使うかが分かります。この場合、サンプルの TFModelsフォルダに入っている 3DBall と言う学習データが使われます。
 ML-Agents_23

では、ゲームを実行してみます。さすが学習済みサンプルデータ。人間技では不可能なほどの完璧なバランスをとっております。
 ML-Agents_24


次回は、この3DBallの学習自体を自分で実行してみます。
【Link:ML-Agents の3DBall で機械学習を試す

Sponsored Link