【Unity】ML-AgentsとPythonの環境をつくる(ML-Agentsで機械学習&強化学習をやってみる その1)

投稿日:2021年12月30日
最終更新日:2022年10月15日

Unityで機械学習をやってみたい

前回の記事で書いたように、ML-AgentsをつかってUnityで強化学習を試してみる。基本的には以下の本を参考にして進めていきたいと思っているが、内容が古くなっている部分もあるので公式のドキュメントも参照しながら、実際にやった手順をブログに残していきたいと思う。まずは環境づくりからだが、Unityを使う前にPython(私はAnacondaを使った)とML-Agentsをgitからcloneするまでを書く。

ちなみにgitやAnacondaの基本的な使い方について、細かい説明はしないのであしからず。

※2022/10/15追記↓

この記事ではML-AgentsのRelease 18をインストールしているが、その後Release 19がリリースされた。最新版を使いたい人は以下の記事にインストール方法を書いてるので、こちらを参照。

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

 

開発環境

Windows 10

Anaconda 4.6.11 (Python 3.7.3)

 

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

本で動作確認しているUnity ML-AgentsのバージョンはRelease 3になっているが、Unity ML-Agentsは開発ペースが速く、現在ではRelease 18まで出ている。

機械学習のプラットフォームがTensorflowからPyTorchに変更になったりと大きな変更も加わっているため、残念ながら環境構築については本の通りやってもうまくいかないと思う。ということで、今回は以下の公式ドキュメントを参照しながら進める。

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

ML-AgentsはGitHubから持ってくるが、Release18のドキュメントを読むとgitでcloneしないとexampleの環境などにアクセスできないと書いてある(本ではzipをダウンロードして持ってくる方法で書かれているので注意)。

といわけで、git bashなどを使って以下のコマンドでrelease18をcloneしてローカル環境に持ってくる。

# git clone --branch release_18 https://github.com/Unity-Technologies/ml-agents.git

 

AnacondaからPython 3.7の仮想環境をつくって必要なモジュールをインストールする

普通にpythonを使っても良いのだが、私のPCにはすでにAnacondaをインストールしてあったので、今回はAnacondaをつかって環境を構築する。Anaconda PromptでAnacondaとPythonのversionを以下のコマンドで確認すると

# conda --version
conda 4.6.11
# python --version
Python 3.7.3

となっている。ドキュメントを読むとInstall Python (3.6.1 or higher)と書いてあり、version的には問題は無さそうなのでこのまま進める。

まずは以下のコマンドでAnacondaに、ml-agentsという名前でPythonの仮想環境を作成する。仮想環境をつくらずにAnacondaのbase環境でpipを使うと、Anacondaの動作がおかしくなることがあるので注意。

# conda create -n ml-agents python=3.7
# conda activate ml-agents

無事に仮想環境が切り替わったら、ドキュメントに従って以下の用意pytorchとmlagetnsモジュールをインストールする。

# pip3 install torch~=1.7.1 -f https://download.pytorch.org/whl/torch_stable.html
# python -m pip install mlagents==0.27.0

これでML-AgentsとPythonの設定はひとまずはOK。次回はUnityでExampleプロジェクトを実行して、強化学習のテストもやってみる。

 

参考文献

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

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

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

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

 

日記まとめ

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

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

 


投稿者: wakky

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

コメントを残す

メールアドレスが公開されることはありません。

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