Unity と ML-Agent の接続に関する予備調査

1. ML-Agentsとは

Unity Machine Learning Agents Toolkit (ML-Agents) は、ゲームやシミュレーションがインテリジェント エージェントをトレーニングするための環境として機能できるようにするオープンソース プロジェクトです。当社は、ゲーム開発者や愛好家が 2D、3D、VR/AR ゲーム用のインテリジェント エージェントを簡単にトレーニングできるようにする、最先端のアルゴリズムの実装 (PyTorch ベース) を提供します。研究者は、提供されている使いやすい Python API を使用して、強化学習、模倣学習、神経進化、またはその他の方法を使用してエージェントをトレーニングすることもできます。これらの訓練されたエージェントは、NPC の動作の制御 (マルチエージェントや敵対的などのさまざまな設定で)、ゲーム ビルドの自動テスト、リリース前のさまざまなゲーム デザインの決定の評価など、複数の目的に使用できます。

翻訳:
Unity Machine Learning Agents (ML-Agents) は、ゲーム環境やシミュレーション環境でインテリジェント エージェントをトレーニングできるオープン ソースの Unity プラグインです。強化学習 (強化学習)、模倣学習 (模倣学習)、神経進化 (ニューロエボリューション) などの機械学習手法を使用し、使いやすい Python API を通じてエージェントを制御できます。また、ゲーム開発者や愛好家が 2D、3D、VR/AR ゲーム用のインテリジェント エージェントを簡単にトレーニングできるようにする最先端のアルゴリズムの実装 (TensorFlow に基づく) も提供しています。これらの訓練されたエージェントは、NPC の動作の制御 (複数のエージェントや対立などのさまざまな設定で)、ゲーム内ビルドの自動テスト、さまざまなゲーム設計上の決定のプレリリース バージョンの評価など、さまざまな目的に使用できます。ML-Agents は、Unity の豊富な環境で AI の最新の進歩をテストし、より多くの研究者やゲームがその結果にアクセスできるようにする集中プラットフォームを提供するため、ゲーム開発者と AI 研究者の両方にとって有益です。開発者。


2. 環境説明

動作環境:Win10
ML-Agentバージョン:Release 20(全バージョンのダウンロードリンク
Unityバージョン:2021.3.18f1
Anacondaインストールファイル:Anaconda3-2022.10-Windows-x86_64.exe(公式サイト) このバージョンにはPython3.9が付属します


3.アナコンダをインストールする

Anaconda ( boa constrictorと訳される) は、conda や Python などの 180 以上の科学パッケージとその依存関係を含むオープンソースの Python ディストリビューションです。

ネットワーク資料を参照するプロセスでは、Python + pip を使用して直接設定する記事もあれば、Anaconda で Python + conda を使用して設定する記事もあります。
conda は、オープン ソース パッケージおよび環境マネージャーであり、異なるバージョンのソフトウェア パッケージとその依存関係を同じマシンにインストールしたり、異なる環境間で切り替えたりするために使用できます。
pip は、ソフトウェア パッケージをインストールおよび管理するためのパッケージ マネージャーです。
conda の環境管理は pip よりも単純で、システムに付属する Python には影響しません。一方、pip は制限が厳しく、Python にのみ適用されます。

ML-Agent 自体の公式ドキュメントでは Python 仮想環境を構築する必要があり、Anaconda は conda を使用することでより簡単に仮想環境を構築できるため、Anaconda をインストールすることにします。

具体的なインストール方法は基本的に公式のexeファイルをクリックしてインストールします。この記事を参照してください

その中で、次の点に注意する必要があります。
  1. Windows 環境では、インストール パスにスペースを含めたり、「Unicode」エンコードしたりすることはできません。
  2. Windows 環境では、インストール パスにスペースを含めたり、「Unicode」エンコードしたりすることはできません。
  3. Windows 環境では、インストール パスにスペースを含めたり、「Unicode」エンコードしたりすることはできません。

大事なことは3回言いましょう。当初、私は自分で定義したフォルダーにファイルをインストールすることに慣れておりProgram Files、このフォルダーの名前にスペースが含まれていたため、結果としてさまざまなエラーが報告されました。後で、この問題が記事で言及されていることを知りました。

インストールが成功したことを確認します。
  1. 「スタート」メニューをクリックします
  2. 「Anaconda3(64ビット)」をクリックします。
  3. 「Anaconda Prompt (Anaconda3)」をクリックしてコンソールに入力すると、 conda listインストールされているパッケージ名とバージョン番号が表示され、正常に表示されればインストール成功です。
  4. または、 conda --version以下に示すように、入力が正常にバージョン番号を表示できた場合は、インストールが成功したことも意味します。
(base) C:\Users\Administrator>conda --version
conda 23.1.0

後で Anaconda を使用する場合は、スタート メニュー -> Anaconda3 (64 ビット) -> Anaconda プロンプト (Anaconda3) に直接移動できます。


4. ML-Agents プロジェクトのドッキング

インターネット上の記事をざっと読んでみると、比較的古い記事もあるため、現在の新しいバージョンと一致していない可能性があり、誤解を招く可能性があります。公式文書
と一緒に食べることをお勧めします、味はより良いです。現在、git プロジェクトの最新バージョンはリリース 20 で、 gitから直接ダウンロードするか、すべてのバージョンのダウンロード アドレスからダウンロードできます。

ここに画像の説明を挿入

バージョンが異なると独自の構成要件があり、それについては公式ドキュメントに記載されており、注意する必要があることに注意してください。

リリース 20 の要件は次のとおりです。

  • Unity バージョンは 2021.3 以降である必要があります
  • Python のバージョンは 3.8.13 以降である必要があります

強調する必要がある問題は、Unity の ml-agents コンポーネントに関するものです。現在、インターネット上の記事では基本的に、Unity のパッケージ マネージャーから ML-agents コンポーネントの最新バージョンをダウンロードすることを推奨しています。実際には、そうすることにより、エラーの連続。
ここに画像の説明を挿入
公式ドキュメントの手順によると、正しい方法は次のとおりです。

  • 「ウィンドウ」→「パッケージマネージャー」ディレクトリに移動します。
  • 左上+隅をクリックします
  • 選ぶAdd package from disk...
    ここに画像の説明を挿入
  • ディレクトリ内で、git からダウンロードして解凍したリリース 20 圧縮パッケージを選択すると、というフォルダーがあります。com.unity.ml-agents

ここに画像の説明を挿入

  • package.jsonファイルを選択して開きます

ここに画像の説明を挿入
しばらくお待ちください。インポートされたローカル プラグインが表示されます。

ここに画像の説明を挿入
ただし、この時点ではまだエラーが発生する可能性があり、これは現在のオンライン記事が引き起こすもう 1 つの誤解です。つまり、ML-Agents コンポーネントをインストールするだけでは十分ではありません

公式ドキュメントの手順によれば、com.unity.ml-agents.extensionsというプラグインもインストールする必要がありますが、手順は上記とほぼ同じで、このプラグインは Release 20 の圧縮パッケージにも含まれています。
ここに画像の説明を挿入
ここに画像の説明を挿入

インストールが完了すると、次のようになります。
ここに画像の説明を挿入

Input Systemさらに、リリース 20 のすべてのサンプルを Unity プロジェクトにコピーする場合は、パッケージ マネージャーから直接ダウンロードできるプラグインを導入する必要がある場合があります。

なお、ローカルプラグイン導入後にプラグインの場所を変更すると、プロジェクト内でエラーが報告されるため、このときプラグインを再配置する必要があるので注意してください。パッケージマネージャー。


5. Anaconda で ML-Agent 環境を作成する

Anaconda プロンプトを開いてコンソールに入ります

// 查看已有的所有环境
conda-env list

環境が作成されていない場合は、次のように表示されます。

(base) C:\Users\Administrator>conda-env list
# conda environments:
#
base                  *  C:\anaconda\Anaconda3

環境を作成するコマンドは次のとおりです。

// 创建新环境
conda create -n ml-agents python=3.9
  • ml-agentsここで自分で設定できる環境の名前です。
  • python=3.9環境を Python 3.9 バージョンに設定します。ここで自分で設定することもできますが、ML-Agent の最低基準を満たす必要があります。

環境をアクティブ化する
Anaconda プロンプトを開くときのデフォルトのパスは次のとおりです。

(base) C:\Users\Administrator>
// 激活 ml-agents 环境
(base) C:\Users\Administrator>activate ml-agents

(ml-agents) C:\Users\Administrator>

(base)アクティブ化後、前面がに変わり、現在 の仮想環境に(ml-agents)入っていることがわかります。ml-agents

環境を終了する:
現在のバージョンで環境を終了するコマンドは次のとおりです。

// 退出 ml-agents 环境
(ml-agents) C:\Users\Administrator>conda deactivate

(base) C:\Users\Administrator>

インターネット上の一部の記事の exit コマンドがここで使用されているものと異なるのは、バージョンの問題が原因である可能性があります。

pip のアップグレード:
ml-agents 環境に入り、コマンドを実行して pip をアップグレードし、pip が比較的新しいバージョンであることを確認します。そうしないと、他のプラグインをダウンロードするプロセス中に問題が発生する可能性があります。

(ml-agents) C:\Users\Administrator>python.exe -m pip install --upgrade pip

6.PyTorchをインストールする

  • 作成したML-Agent環境を有効化します。
(base) C:\Users\Administrator> activate ml-agents
  • 公式ドキュメントによると、pip コマンドを使用して PyTorch をダウンロードします。プラグインは辛抱強く待つ必要があります。途中でエラーが報告された場合は、ネットワークに関連している可能性があります。pip が最新バージョンであることを確認して、ダウンロードしてみてくださいもう一度確認するか、他の情報源を探してください。
(ml-agents) C:\Users\Administrator>pip3 install torch~=1.7.1 -f https://download.pytorch.org/whl/torch_stable.html

-fこれは、指定された URL ファイルからパッケージのダウンロード リンクを検索し、(デフォルトの pip インストール ソースからではなく) 次の url パラメーターによって取得されたファイルから pip によってインストールされるパッケージ ファイルを検索します。


7. 必要な Python パッケージをインストールします

カスタム トレーニングの場合、さらに 2 つの Python パッケージをインストールする必要があります。どちらもリリース 20 の zip ファイルに含まれています。

  1. ml-agents: ユーザーが Unity シーンで動作をトレーニングできるようにする機械学習アルゴリズムが含まれています。
  2. ml-agents-envs: Unity シーンと対話するための Python API のセットが含まれています。これは、Unity シーンと Python 機械学習アルゴリズム間のデータ メッセージングを容易にする基本レイヤーです。したがって、場合によってml-agents異なりますml-agents-envs

インストール方法は、Anaconda Prompt を開き、先ほど作成した ml-agents 環境をアクティブ化し、コマンドを使用してcdRelease 20 で解凍されたフォルダー内の対応するディレクトリに移動し、pip コマンドを使用してインストールします。

pip install .

インストールml-agents-envsプロセス中に、次のエラーが発生する場合があります。

TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

必要に応じて下位バージョンをダウンロードしてくださいprotobuf
試行錯誤の末、ダウンロード3.19.6版にしました

pip3 install protobuf==3.19.6

その後は普通にインストールできるようになります。
すべてのインストールが完了したら、 を使用してmlagents-learn --helpインストールが成功したかどうかをテストできます。


この時点で、予備的な Unity ML-Agents 環境がセットアップされ、いくつかの公式デモを使用してみることができます。

おすすめ

転載: blog.csdn.net/EverNess010/article/details/129141930