はじめに
今回は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
もしかしたら少しの間機械学習関連の記事を書くかもしれませんが、良かったらお付き合いください。
ではまた!