はじめに
今回はml-agentsを使うためのセットアップをしてみようという記事になります!
このml-agentsは学習済みのデータを用いるだけならばUnityのみで良いのですが、学習をさせようとするとUnity以外にもPythonやそこで用いるライブラリ等の準備が必要になります。
というわけで、導入が少し複雑になってしまうんですよね。ちなみに公式のドキュメントはこちら↓↓
備忘録としての意味合いもかねて、書き残しておきたいと思います。
環境
MacOS Catalina v10.15.2
Unity 2019.3.0f3
ml-agents
まずはml-agentsをダウンロードします。こちらのGitHubのリリースから、最新のものをダウンロード。
現時点では最新版はml-agents0.12.1でした。

.zipは解凍しておきましょう。
anacondaをインストールする
AnacondaはPythonや機械学習などによく用いられるライブラリをまとめてくれたパッケージです。
これを今回は用いて設定をしていきます。
こちらの公式サイトを開き、以下の画像を参考にしながらダウンロードを行ってください。
Anaconda Python/R Distribution - Free Download


ダウンロードができたら、インストーラを起動します。

インストール先は特に理由がなければ自分専用にインストールで良いでしょう。

その後PyCharmを入れないか聞かれますが、今回はいらないのでそのまま続けるを選択。

ここまで無事できると、アプリケーションフォルダ内にAnaconda-Navigatorができているはずです。

仮想環境を作る
ml-agentsを使うにあたって、仮想環境を設定したほうが良いでしょう。
先程インストールしたAnaconda-Navigatorを起動し、左側にあるEnvironmentsを選択、createボタンを押します。

適当な名前をつけPythonのバージョンを選んでcreate。

ターミナルを開く
仮想環境でのターミナルの開き方は、下の図のような再生ボタンから Open Terminalでできます。

その画面で、以下のコマンドが実行できたらOKです。
$ conda -V
コマンドにエラーがでてしまう場合
この通りにしても、このようなエラーが出てきてしまう場合はあるようです。
user@Mac-Pro ~ % /Users/user/.anaconda/navigator/a.tool ; exit; /Users/user/.anaconda/navigator/a.tool: line 1: syntax error near unexpected token `(' /Users/user/.anaconda/navigator/a.tool: line 1: `bash --init-file <(echo "source activate /Users/user/opt/anaconda3/envs/ml-agents;")' [プロセスが完了しました]
これは起動シェルと呼ばれるものが、bashではなくzshのときになってしまうようです。
少し前までのMacではbashがデフォルトでしたが、最近のMacではzshがデフォルトになっているらしいので、注意が必要ですね。
こちらの記事のbashをインストール、chshの箇所を参考に変更をしてみてください。
またこちらの記事も参考になるかも。
ML-Agentsが使うライブラリを取得する
先程のAnaconda-Navigatorから開いたターミナルで、必要なライブラリをインストールします。
他の方の記事を見た感じ最初にダウンロードしたフォルタに移動(cd)してから次のコマンドをしていましたが、おそらくいつでも大丈夫だと思います。
$ pip install mlagents
これで依存関係にあるライブラリも一気にインストールしてくれました。
次の二つがややめんどくさいのですが、特定のフォルダに移動した後にコマンドを打ち込みます。
まずは冒頭でダウンロードしたフォルダ(ex.ml-agents-0.12.1)の下にあるml-agents-envsに移動し、次のコマンドを入力。
$ pip install -e .
同様にml-agentsフォルダの下にあるml-agents(ex.ml-agents-0.12.1/ml-agents)に移動し、コマンドを入力。
$ pip install -e.
さいごに
これで一通りの作業は終えました。
ちょっと導入がめんどくさいので、全部Unityで完結することができたらもっと便利なのになーと思ったりもします。そういった研究?とかもあったら面白そう。
またml-agentsのフォルダ内で以下のコマンドを打ち込めばもう学習を始められます。
mlagents-learn config/trainer_config.yaml --run-id=firstRun --train
もしかしたら少しの間機械学習関連の記事を書くかもしれませんが、良かったらお付き合いください。
ではまた!