Unityで機械学習(環境構築 Mac編)

Unity

Unityで機械学習をやってみよう。今回はMacOS上に環境を作成する。
今回使うRelease12の必要環境は以下
Unity:2018.4~
Python:3.6.1~3.8.x

このチュートリアルはUnityのバージョンは2019.4.12f1、Pythonは3.8で行っている。

ml-agents公式

基本的にはGitHubに上がっている公式に従ってやっていく。
https://github.com/Unity-Technologies/ml-agents/blob/release_12_docs/docs/Installation.md

驚くべき開発スピードだが、今回はRelease12ブランチで構築していく。

ML-Agents Toolkitのダウンロード

最初にUnity用のML-Agentsを用意しよう。
任意の場所(Desktop等)に以下をクローンする。

$ cd ~/Desktop
$ git clone --branch release_12 https://github.com/Unity-Technologies/ml-agents.git

Unityにインストール

Unityにて新規3Dプロジェクトを立ち上げ以下の手順でパーケージをインストールする

1.メニューに移動Window-> Package Manager。
2.パッケージマネージャーウィンドウで、+ボタンをクリック。
3.選択する Add package from disk…
4.最初にダウンロードしたml-agents内にあるcom.unity.ml-agentsフォルダに移動。
5.package.jsonファイルを選択。

extentionのインストール

Sampleプログラムの幾つかが必要とするのでextentionもインポートしておこう。
同じようにPackageManagerからAdd Package from diskを選択して

com.unity.ml-agents.extensionフォルダー内にあるpackage.jsonを選択する

サンプルプロジェクトのコピー

それではサンプルプロジェクトをコピーしていこう。ここではファインダーを使ってコピペで移動する。

GitHubからクローンしてきたml-agentsフォルダ内にあるProject->AssetsフォルダにあるML-Agentsフォルダをコピーして、Unityで作成したプロジェクト内のAssetsフォルダに貼り付ける

ひとまず確認

確認してみよう。Unityに行って
Asstes->ML-Agents->Examples->3DBall->Scenesフォルダにある3DBallシーンを選択する。

実行してみよう。すでに学習済みのデータによってボールを落とさないようにうまく操作していることがわかる。

学習環境の構築

サンプルデータの再生では学習済みのデータを再生しただけだ。なので実際に学習をできる環境を作っていこう。機械学習といえばPythonだ。まずはPython環境を作成する。ローカル環境にPython3.8がインストールされているものとする。

仮想環境の構築

Pythonの仮想環境を作成しよう。こうしておくことで特定の用途に適したPython実行環境を構築することができる。今回の例で言うとUnityで機械学習させる専門のPython環境を構築できる。

1.まずは任意の場所に仮想環境用のフォルダを作成する。今回はホームフォルダにpython-envsというフォルダを作成した。

$ mkdir ~/python-envs

2.以下のコマンドで今回のUnity用の実行環境を作成する。名前をmy-unity-envとしたがもちろん好きな名前でOK。Python3.3からvenvを使って簡単に仮想環境を構築できるようになった。

$ python3 -m venv ~/python-envs/my-unity-env

3.以下のコマンドで作成した環境をアクティブにする。

$ source ~/python-envs/my-unity-env/bin/activate

仮想環境に入ることができた!

(もしも仮想環境から出たい場合には以下のコマンドだ)

$ deactivate

4.PIPを最新のものに更新する(my-unity-envに居る状態で以下のコマンドを打つ)

$ pip3 install --upgrade pip

5.setuptoolsをアップグレードする。

$ pip3 install --upgrade setuptools

mlagentsのインストール

この環境にmlagents(machine-learning agents)をインストールしよう。

$ pip3 install mlagents==0.23.0

ここで指定している0.23.0というのは以下の表のPythonPackageのバージョンだ。
今回はRelease12で行っているのでバージョンは0.23.0ということになる、

実行

これで仮想環境ができあがったので実行しよう。以下のコマンド打つ

$ mlagents-learn

うぉぉ!なんかすごい!!これでUnity機械学習用のPythonが起動した。
Unityに戻って先程のプロジェクトを実行してみよう。Unityの再生に合わせてPythonも動き出した。

おお、こちらも何やら動いている!!

停止

Unityの再生を止めよう。するとPythonも色々とログを出しながら止まることがわかる。

機械学習の環境構築完了!

これでUnityとPythonが連携して行う機械学習の環境設定はOKだ。次回は実際に機械学習をさせてみよう。

Unity
スポンサーリンク
シェアする
mjpurinをフォローする
ジョイタスネット

コメント

タイトルとURLをコピーしました