UnityでAIを学びたいと思い、ML-Agentsを導入してみました。
ところが、以前のML-Agents向け記事を参考にして
pip install mlagents
を実行しても上手くいきません。
調べてみると、Unity 6.5で利用するML-Agents 4.0.3は、以前のML-Agentsとは導入方法が変わっていました。
この記事では、実際に環境構築を行った手順をまとめます。
参考サイト
公式ドキュメントはこちらです。
Install the ML-Agents Toolkit
動作確認環境
- Unity 6.5
- ML-Agents 4.0.3
- Windows 11
- Anaconda Navigator
UnityにML-Agentsを導入する
Package Managerを開きます。
Window
→ Package Manager
Unity Registryから
ML Agents
を検索してインストールします。
インストール後に以下のようになっていればOKです。
ML Agents 4.0.3
Anaconda Navigatorをインストールする
まだインストールしていない場合は、Anacondaをインストールします。
Anaconda Navigatorを利用すると、Python環境を管理しやすくなります。
Python 3.10.12環境を作成する
ここが今回一番重要なポイントでした。
私は最初にAnaconda Navigatorで環境を作成しました。
しかし作成された環境は
Python 3.10.20
になっており、ML-Agentsのインストールでエラーになりました。
ML-Agents 4.0.3(Release 23)は、
Python >= 3.10.1
Python <= 3.10.12
を要求しています。
そのため、Anaconda PromptまたはOpen Terminalから以下を実行します。
conda create -n unity-ml23 python=3.10.12
環境を有効化します。
conda activate unity-ml23
バージョンを確認します。
python --version
以下のように表示されればOKです。
Python 3.10.12
私の場合、この手順が環境構築成功の決め手になりました。
ML-Agentsのソースコードを取得する
適当なフォルダで以下を実行します。
git clone --branch release_23 https://github.com/Unity-Technologies/ml-agents.git
取得後に移動します。
cd ml-agents
mlagents-envsをインストールする
まずはこちらを実行します。
python -m pip install ./ml-agents-envs
正常終了することを確認します。
mlagentsをインストールする
続いてこちらを実行します。
python -m pip install ./ml-agents
正常終了することを確認します。
動作確認
以下を実行します。
mlagents-learn --help
ヘルプが表示されれば成功です。
例えば以下のような表示になります。
usage: mlagents-learn.exe [-h]
私がハマったポイント
pip install mlagents では導入できなかった
以前のML-Agentsでは、
pip install mlagents
で導入できました。
しかし現在PyPIで公開されている最新版は
0.28.0
です。
Unity Package Managerで導入される
ML Agents 4.0.3
とは対応していません。
そのため、公式ドキュメントの手順通りに
release_23
ブランチからインストールする必要がありました。
Python 3.10系なら何でも良いわけではない
私は最初、
Python 3.10.20
を使用していました。
しかし、
Package 'mlagents-envs' requires a different Python
というエラーが発生しました。
「Python 3.10系だから大丈夫」と思っていましたが、
Python 3.10.1 ~ 3.10.12
という制約がありました。
そのため、
conda create -n unity-ml23 python=3.10.12
で専用環境を作成することが重要でした。
まとめ
Unity 6.5でML-Agents 4.0.3を利用する場合は、
- UnityにML Agents 4.0.3を導入
- Python 3.10.12環境を作成
- release_23ブランチを取得
- mlagents-envsをインストール
- mlagentsをインストール
- mlagents-learn –helpで確認
という流れで環境構築できます。
特に
conda create -n unity-ml23 python=3.10.12
は重要なポイントでした。
私の場合、ここを見落としていたため環境構築にかなり時間がかかりました。
これからML-Agentsを始める方の参考になれば幸いです。
次回は実際にML-Agentsを使って、障害物を避けるAIを学習させてみたいと思います。
コメント