はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】機械学習をするためにml-agentsを使う準備をする(Mac)(2020/1/3)

はじめに

今回はml-agentsを使うためのセットアップをしてみようという記事になります!

このml-agentsは学習済みのデータを用いるだけならばUnityのみで良いのですが、学習をさせようとするとUnity以外にもPythonやそこで用いるライブラリ等の準備が必要になります。

というわけで、導入が少し複雑になってしまうんですよね。ちなみに公式のドキュメントはこちら↓↓

github.com

備忘録としての意味合いもかねて、書き残しておきたいと思います。

環境

MacOS Catalina v10.15.2
Unity 2019.3.0f3

ml-agents

まずはml-agentsをダウンロードします。こちらのGitHubのリリースから、最新のものをダウンロード。

現時点では最新版はml-agents0.12.1でした。

github.com

f:id:hanaaaaaachiru:20200101173642p:plain

.zipは解凍しておきましょう。

anacondaをインストールする

AnacondaはPythonや機械学習などによく用いられるライブラリをまとめてくれたパッケージです。

これを今回は用いて設定をしていきます。

こちらの公式サイトを開き、以下の画像を参考にしながらダウンロードを行ってください。
Anaconda Python/R Distribution - Free Download


f:id:hanaaaaaachiru:20200101175151p:plain

f:id:hanaaaaaachiru:20200101180427p:plain


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

f:id:hanaaaaaachiru:20200101180918p:plain


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

f:id:hanaaaaaachiru:20200101181014p:plain


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

f:id:hanaaaaaachiru:20200101181958p:plain


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

f:id:hanaaaaaachiru:20200102191444p:plain

仮想環境を作る

ml-agentsを使うにあたって、仮想環境を設定したほうが良いでしょう。

先程インストールしたAnaconda-Navigatorを起動し、左側にあるEnvironmentsを選択、createボタンを押します。

f:id:hanaaaaaachiru:20200102192556p:plain


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

f:id:hanaaaaaachiru:20200102192945p:plain

ターミナルを開く

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

f:id:hanaaaaaachiru:20200102194958p:plain

その画面で、以下のコマンドが実行できたら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がデフォルトになっているらしいので、注意が必要ですね。

journal.lampetty.net

こちらの記事のbashをインストール、chshの箇所を参考に変更をしてみてください。

またこちらの記事も参考になるかも。

MacにAnacondaをインストールし、Jupyter環境の構築 - Qiita

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


もしかしたら少しの間機械学習関連の記事を書くかもしれませんが、良かったらお付き合いください。

ではまた!