Unity で機械学習(Machine Learning)が行える ML-Agents について、前回、前々回に 3DBall と言うサンプルをサンプルデータ(学習済みデータ)を用いて試してみました。
( ML-Agents の3DBall を試す(サンプルデータ使用)Part1 )
( ML-Agents の3DBall を試す(サンプルデータ使用)Part2 )
( ML-Agents の3DBall を試す(サンプルデータ使用)Part1 )
( ML-Agents の3DBall を試す(サンプルデータ使用)Part2 )
【作業の概要(機械学習編)】
4.Unityでの設定とビルド
4.1. Unityでの設定
4.2. Unityでのビルド
5.機械学習の実行
5.1. 機械学習下準備
5.2. 機械学習の実行
6.学習結果を使用して実行
6.1. Unityでの設定
6.2. 学習結果を用いて実行
4.Unityでの設定とビルド
4.1. Unityでの設定
4.2. Unityでのビルド
5.機械学習の実行
5.1. 機械学習下準備
5.2. 機械学習の実行
6.学習結果を使用して実行
6.1. Unityでの設定
6.2. 学習結果を用いて実行
【4.Unityでの設定とビルド】
4.1. Unityでの設定
Edit > Project Settings > Player で Player Settings を開きます。
[Resolution and Presentation] エリアで以下を確認します。
・[Run In Background] にチェックが入っている。
・[Display Resolution Dealog] が Disable になっている。
次に、Hierarchyビュー上で、「Ball3DBrain」を選択。Inspectorビュ-上で Brain Type を External に変更します。
ここで、File > Save Scenes でシーンを保存しておきます。
4.1. Unityでの設定
Edit > Project Settings > Player で Player Settings を開きます。
[Resolution and Presentation] エリアで以下を確認します。
・[Run In Background] にチェックが入っている。
・[Display Resolution Dealog] が Disable になっている。
次に、Hierarchyビュー上で、「Ball3DBrain」を選択。Inspectorビュ-上で Brain Type を External に変更します。
ここで、File > Save Scenes でシーンを保存しておきます。
4.2. Unityでのビルド
File > Build Settings で Build Settings 画面を開きます。
今回は「PC, Mac & Linux Standalone」でビルドします。「Build」ボタンをクリックして、ビルドを開始させます。
ファイルの保存先を聞いてきますので、ml-agents-master > python 配下に 3DBall と言う名前で保存をします。「Save」をクリックしてビルド実行。
ml-agents-master > python 配下に 3DBall と言う exeファイルができました。
(ML-Agents 0.4 から、このように先にビルドしなくても直接 Unity Editor から学習させることもできるようになったようです。)
File > Build Settings で Build Settings 画面を開きます。
今回は「PC, Mac & Linux Standalone」でビルドします。「Build」ボタンをクリックして、ビルドを開始させます。
ファイルの保存先を聞いてきますので、ml-agents-master > python 配下に 3DBall と言う名前で保存をします。「Save」をクリックしてビルド実行。
ml-agents-master > python 配下に 3DBall と言う exeファイルができました。
(ML-Agents 0.4 から、このように先にビルドしなくても直接 Unity Editor から学習させることもできるようになったようです。)
【5.機械学習の実行】
5.1. 機械学習下準備
前回使用した Anaconda Prompt を閉じてしまった人ように。
Anaconda Prompt を起動させます。
コマンドプロンプトから「chcp 65001」と入力して Enter を押します。
フォルダを ml-agents-master に移動します。
ml-agents に環境を切り替えます。
フォルダを python に移動します。
5.1. 機械学習下準備
前回使用した Anaconda Prompt を閉じてしまった人ように。
Anaconda Prompt を起動させます。
コマンドプロンプトから「chcp 65001」と入力して Enter を押します。
chcp 65001
フォルダを ml-agents-master に移動します。
cd <パスをコピペ>
ml-agents に環境を切り替えます。
activate ml-agents
フォルダを python に移動します。
cd python
5.2. 機械学習の実行
Pythonの学習プログラム learn.pyで先ほど同じフォルダに作成したexeファイル、3DBallを指定して実行します。(ML-Agents v0.2まではppo.pyを使用。)
機械学習が始まりました。小さなスクリーンが立ち上がり、高速に何回も実行をしています。
最初はボロボロです。
学習がどんどん進みます。
すると、うまくバランスがとれるようになってきました。
学習が終了して、学習結果は ml-agents-master > python > models > ppo フォルダに、3DBall_ppo.bytes ファイルとして作成されています。
Pythonの学習プログラム learn.pyで先ほど同じフォルダに作成したexeファイル、3DBallを指定して実行します。(ML-Agents v0.2まではppo.pyを使用。)
python learn.py 3DBall --train
機械学習が始まりました。小さなスクリーンが立ち上がり、高速に何回も実行をしています。
最初はボロボロです。
学習がどんどん進みます。
すると、うまくバランスがとれるようになってきました。
学習が終了して、学習結果は ml-agents-master > python > models > ppo フォルダに、3DBall_ppo.bytes ファイルとして作成されています。
【6.学習結果を使用して実行】
6.1. Unityでの設定
それでは、いま作成した学習ファイル(bytesファイル)を使用して実行してみましょう。
まず、作成した「3DBall_ppo.bytes」ファイルを Projectビューの TFModelsフォルダにドラッグ&ドロップします。
次に、Hierarchyビュー上で、「Ball3DBrain」を選択。Inspectorビュ-上で以下の様に設定。
・Brain Type: 「Internal」に変更。
・Graph Model: 今作成した bytesファイル「3DBall_ppo.bytes」を Projectビューからドラッグ&ドロップ。
6.1. Unityでの設定
それでは、いま作成した学習ファイル(bytesファイル)を使用して実行してみましょう。
まず、作成した「3DBall_ppo.bytes」ファイルを Projectビューの TFModelsフォルダにドラッグ&ドロップします。
次に、Hierarchyビュー上で、「Ball3DBrain」を選択。Inspectorビュ-上で以下の様に設定。
・Brain Type: 「Internal」に変更。
・Graph Model: 今作成した bytesファイル「3DBall_ppo.bytes」を Projectビューからドラッグ&ドロップ。
このような感じで Unity上での機械学習は行われます。
3DBall のサンプルはとても分かりやすく、インパクトがありますね。今度は他のサンプルも試してみようかと思います。
3DBall のサンプルはとても分かりやすく、インパクトがありますね。今度は他のサンプルも試してみようかと思います。
Sponsored Link