Unity 6.5でML-Agents 4.0.3を導入する方法【Anaconda Navigator対応】

Unity Unity
Unity

UnityでAIを学びたいと思い、ML-Agentsを導入してみました。

ところが、以前のML-Agents向け記事を参考にして

pip install mlagents

を実行しても上手くいきません。

調べてみると、Unity 6.5で利用するML-Agents 4.0.3は、以前のML-Agentsとは導入方法が変わっていました。

この記事では、実際に環境構築を行った手順をまとめます。

参考サイト

公式ドキュメントはこちらです。

Install the ML-Agents Toolkit

Install the ML-Agents Toolkit | ML Agents | 4.0.3

動作確認環境

  • 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を利用する場合は、

  1. UnityにML Agents 4.0.3を導入
  2. Python 3.10.12環境を作成
  3. release_23ブランチを取得
  4. mlagents-envsをインストール
  5. mlagentsをインストール
  6. mlagents-learn –helpで確認

という流れで環境構築できます。

特に

conda create -n unity-ml23 python=3.10.12

は重要なポイントでした。

私の場合、ここを見落としていたため環境構築にかなり時間がかかりました。

これからML-Agentsを始める方の参考になれば幸いです。

次回は実際にML-Agentsを使って、障害物を避けるAIを学習させてみたいと思います。

コメント

タイトルとURLをコピーしました