【Unity】ML-AgentsをRelease19に更新&Python packageも更新(ML-Agentsで機械学習&強化学習をやってみる その7)

投稿日:2022年10月15日
最終更新日:2022年10月17日

ML-Agentsの学習環境をつくる

久しぶりにML-Agentsをさわってみるか!と思い立ったのだが、放置している間にML-Agentsのversionがrelease 18からrelease 19にupdateされていた。それに伴ってPythonのpackageもversionが変わったようなので、今回はリハビリがてら環境のupdateをやってみたいと思う。ちなみに、updateといっても新規にインストールするときと手順は特に変わらない。

なお、いつものごとくgitやPython(私はAnacondaを使っているけど)の基本的な使い方について細かい説明はしないのであしからず。

 

実行環境

Windows 10

Unity 2020.3.25f1

Anaconda 4.6.11 (Python 3.7.3)

ML-Agents Release 18 ※更新前。これをRelease 19にする。

mlagetns(Python Package) 0.27.0 ※更新前。これを0.28.0にする。

 

ML-AgentsをCloneしてローカル環境に持ってくる

以下のRelease 19の公式ドキュメントを参照しながら進める。

https://github.com/Unity-Technologies/ml-agents/blob/release_19_docs/docs/Installation.md

Release 18のときと同様に、gitでcloneしないとexampleの環境などにアクセスできないらしい。というわけで、git bashなどを使って以下のコマンドでrelease19をcloneしてローカル環境に持ってくる。

$ git clone --branch release_19 https://github.com/Unity-Technologies/ml-agents.git

 

Pythonにmlagentsのpackageをインストールする

つぎに、Pythonにmlagentsのパッケージをインストールする。ちなみに私はAnacondaでPython 3.7の仮想環境をつくってmlagetnsのpackageをインストールしているので、まずは以下のコマンドで仮想環境に切り替える。仮想環境をつくる方法についてはこちらを参照。

$ conda activate ml-agents

現時点でのmlagents packageの最新バージョンは0.29.0だが、Release 19に対応しているのは0.28.0なので、以下で0.28.0を指定してインストールする。ちなみに、古いバージョン(私の環境では0.27.0)のpackageがinstallされていても以下のコマンドを実行すれば更新できる。

$ python -m pip install mlagents==0.28.0

念のため以下でpackageのversionを確認してみる。

$ pip list

mlagents、mlagents-envともに0.29.0になっていることが確認できた。これで更新は完了。

実際にUnityで使う場合は、UnityのプロジェクトにML-AgentsのUnity packageを追加する必要があるが、それは次回ML-Agentsを使うときに書きたいと思う。

 

参考文献

基本的には以下の本を読みつつ勉強していき、最終的には自分で何かしらゲームを作っていく予定。最低限ML-Agentsを使うための流れはブログで書いていこうと思っているが、詳細については説明しないので、深く理解するには本を買って勉強してみることをオススメする。

一部環境構築の記載などは古いけど、強化学習の概念やML-Agentsの学習方法、ゲームへの応用例などが日本語で整理してまとめられているので貴重な本だと思う。

古くなった情報を補完するため、本と合わせて以下のML-Agents Release 19の公式ドキュメントを参照している。

https://github.com/Unity-Technologies/ml-agents/tree/release_19_docs/

 

日記まとめ

この日記は以下でまとめてます。

【Unity】ML-Agentsで機械学習&強化学習をやってみる

 


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください