AI

ML-agents release19を導入する5つのステップ

  • このエントリーをはてなブックマークに追加
  • LINEで送る

UnityのML-agentsの導入は、多くのゲーム開発者や機械学習エンジニアにとって、新しい可能性を切り拓くための重要なステップです。
この記事では、初心者がUnityを使用してML-agentsを導入する方法に焦点を当てました。

『ML-agentsを導入・環境構築する方法は?』
『Pythonのバージョン違いで動かない時は?』

こんな疑問に答えます。

SE歴25年のオッサンが解説するぞい!
SEおっさん
SEおっさん

【ざっくり】Unity ML-Agentsを導入する手順

Unity ML-Agentsによる強化学習を利用したゲームAIの開発には、適切な環境設定が必要です。
必要なソフトウェアのインストールとセットアップ手順をステップバイステップで紹介します。

以下が、ざっくりの手順です。

ステップ 1: 開発環境の確認と決定

  • Unity 2020.3.48f1
  • Unity ML-Agents Release 19
  • Python 3.8

ステップ 2: Unityのインストール

  1. Unity Hubをダウンロードし、インストール。
  2. Unity Hubを起動し、Unity 2020.3を選択してインストール。

ステップ 3: Pythonのインストール (Windows)

  1. “Microsoft Store”から “Python 3.8″をインストール
  2. コマンドプロンプトでPythonのバージョンを確認
  3. Python仮想環境を作成

ステップ 4: Unity ML-AgentsのPythonパッケージをインストール

  1. Unity ML-Agents Release 19のリリースノートからZipファイルをダウンロード。
  2. Zipファイルを解凍して必要なパッケージを含むフォルダを取得。
  3. パッケージ”ml-agents-env”をインストール
  4. パッケージ”ml-agents”をインストール

ステップ 5:UnityのプロジェクトにML-Agentを組み込む

  1. Unityプロジェクトの新規作成
  2. プロジェクトを開いて、ML-Agentsパッケージ を追加

この5ステップで簡単にUnity ML-Agentsの開発環境をセットアップできます。
エラーが発生した場合でも焦らず、問題を解決できるので安心してください。

SEおっさん
SEおっさん
それでは、くわしくいってみよー


『そもそもml-agentsって何?』という記事はこちら

UnityのML-Agentsとは!?仕組みをざっくり解説
UnityのML-Agentsとは!?仕組みをざっくり解説
この記事では、Unity ML-Agentsの仕組みをまとめることに焦点を当てました。(半分は備忘録です) 『UnityのML-agentsって何?』 『ML-.....

ml-agentsを超ざっくり紹介した記事はこちら(Release3です)
【Python&Unity】ml-agentsでAI強化学習



スポンサーリンク

【ステップ 1】 開発環境の選定

強化学習による AI ゲームの開発を行うために、以下の3つのインストー ルとセットアップが必要です。

  • Unity
  • Unity ML-Agents
  • Python

「Unity ML- Agents」 を利用するには、 「Unity 2020.3 以降」 が必要になります。
セットアップするバージョンによっては、うまく動作しないこともあるのです。
確実に動作するバージョンを選定して、セットアップする必要があります。

ここが最も重要といっても過言ではありません。
今回は確実に動作する環境をお伝えします(筆者にて動作確認済です。バッチリOK)

選定したバージョンは以下の通り。

  • Unity: 2020.3.38f1
  • Unity ML-Agents Release: 19
  • Python: 3.8

バージョンの選定にあたり、次の書籍を元にバージョンを決めて動作を確認しました。
Unityのバージョンは、筆者が導入したバージョンと微妙に違いますが動作は確認済です。
ご安心ください。


Unityではじめる機械学習・強化学習 Unity ML-Agents 実践ゲームプログラミング v2.2対応版

【ステップ2】 Unityのインストール

「Unity」は、世界で愛用されている3Dのゲーム開発環境の1つ。

Unityにはバージョンがたーくさんあるので、
バージョン管理するUnityHubからUnity本体をインストールするのが一般的です。

<インストール手順>

  1. Unity Hubのダウンロード
  2. Unity Hubのインストール
    • ダウンロードしたUnity Hubのインストーラを実行して、Unity Hubをインストールします。
  3. Unity Hubを起動
    • インストールが完了したら、Unity Hubを起動します。
  4. Unity本体のインストール
    • Unity Hubの「インストール」タブから、「エディターをインストール」をクリックします。
    • 「Unity 2020.3」を選び、「インストール」ボタンをクリックします。
    • 利用するOS(WindowsまたはmacOS)のビルドモジュールを選択し、「インストール」ボタンをクリックします。


スポンサーリンク

【ステップ3】Pythonのインストール

Python をローカルマシン (Windows、 またはmacOS) にインストールします。
WindowsとmacOSでインストール方法が異なるケースがあります。
(筆者はWindows環境で構築したため、Windowsメインで書きました)

  1. Python3.8のインストール
    • Windowsの場合

      Microsoft Storeで「Python 3.8」を検索してインストールします。
      バージョンごとに別アプリとして配布されているので「Python3.8」を選んでください。

      コマンドプロンプトを起動して、Pythonのバージョンが表示されたら成功です。
      次のコマンドで確認しましょう。

      python -–version
      Python 3.8.xx
    • macOSの場合

      HomeBrewを使用してインストールします。
      HomeBrewはmacOS用のパッケージマネージャです。
      windowsと同様にPythonのバージョン3.8をインストールします。
      すみません、HomeBrewを使用したインストールの詳細は割愛します。

  2. Pythonの仮想環境の作成

    Python を使って開発を行う際は、用途に応じてプロジェクト毎の環境を作成して、 切り替えて使用するのが一般的です。
    これによって、 プロジェクト毎に異なるバージョンの Python パッケージを利用できるようになります。このプロジェクト毎に作成する環境を、 「仮想環境」と言います。

    • プロジェクトフォルダの作成

      「unity-ml-agents」 という名前のプロジェクトフォルダを作成します。
      (作成したらプロジェクトフォルダへ移動)

      mkdir unity-ml-agents
      cd unity-ml-agents
    • プロジェクトフォルダ内に仮想環境「env」を作成します。
      python -m venv env
  3. Pythonの仮想環境の有効化

    仮想環境を有効化します。

    • Windows:
      env\Scripts\activate

      プロンプトの左端に 「(env)」 と表示されるとOKです。

      (env) c:\python\unity-ml-agents>
    • macOS:
      source env/bin/activate

Python関係のコマンド(python やpip) は、すべてこの仮想環境内で実行してください。

【pythonとpip】よく使うコマンド一覧:備忘録
【pythonとpip】よく使うコマンド一覧:備忘録
Pythonとpipのよく使うコマンドを一覧にまとめました。 筆者が備忘録として執筆した記事です。 『Pythonとpipのよく使うコマンドは何?』 良く使うp.....

【ステップ4】PythonへUnity ML-Agentsをインストール

「Unity ML-Agents」は、Unityで「強化学習」の学習環境を構築するための Unity パッ ケージです。
バージョンは「Unity ML-Agents Release 19」を使用します。

  1. 「Unity ML-Agents Release 19」のリリースノートを開く

    リリースノートを開きます。

  2. Zipファイルをダウンロード

    リリースノートの下部にある「Assets」から「Source code (zip)」をクリックしてZipファイルをダウンロードします。

  3. Zipファイルを解凍

    ダウンロードしたZipファイル(ml-agents-release_19.zip)を解凍し、「ml-agents-release_19」フォルダが生成されます。

  4. フォルダ「ml-agents-release_19」へ移動

    Pythonの仮想環境を有効化した状態で、先ほど解凍した「ml-agents-release_19」フォルダに移動します。

  5. PyTorchのインストール(Windowsのみ)

    ※macOSの場合、PyTorchはml-agentsパッケージのインストール時にいっしょにインストールされるので次へ進んでください

    Windowsの場合、PyTorchのインストールが必要です。以下のコマンドを実行します。

    pip install torch==1.7.1 -f https://download.pytorch.org/whl/torch_stable.html

    MicrosoftのVisual C++ Redistributable」 のインストールを要求される場合もあります。

  6. ML-Agentsの Python パッケージをインストール

    「Unity ML-Agents」 の Python パッケージには、 「ml-agents-env」 「ml-agents」の2つがあり、この順番でインストールする必要があります。

    • ml-agents-envパッケージのインストール
      pip install -e ./ml-agents-envs
    • ml-agentsパッケージのインストール
      pip install -e ./ml-agents
  7. Pythonパッケージ一覧を確認
    pip list
    
コラム

「Unity ML-Agents Release 19」 には、以下のパッケージ群が含まれています。
パッケージ≒フォルダと思ってください。.(ドット)が階層です。

  • Unityパッケージ (基本)
    com.unity.ml-agents (C#) v2.2.1-exp.1
  • Unityパッケージ (拡張)
    com.unity.ml-agents.extensions (C#) v0.6.1-preview
  • Python パッケージ(基本)
    ml-agents (Python) v0.28.0
  • Python パッケージ(Unity-Python 間の通信)
    ml-agents-envs (Python) v0.28.0
  • OpenAl Gym と連携するためのパッケージ
    gym-unity (Python): v0.28.0
  • その他のパッケージ
    Communicator (C#/Python) v1.5.0

パッケージではないけど、フォルダに含まれるもの

  • 学習設定ファイル
    config
  • Unityプロジェクトのサンプル
    Project
  • Pythonスクリプトのサンプル
    colab
  • ドキュメント
    docs

「Release 19」の「19」という番号は、 Unityパッケージのバージョンではなく、複数の Unityパッケージをまとめたパッケージセットのバージョンで、リリース毎に増える連番です。

【ステップ5】UnityのプロジェクトにML-Agentを組み込む

必要な開発環境の準備が整いました。
新規のプロジェクトに 「Unity ML-Agent」のパッケージを組込みましょう。

以下、手順です。

Unityプロジェクトの追加

  1. Unity Hub を起動
  2. 「プロジェクトタブ」 の 「新しいプロジェクト」ボタンを押す
  3. テンプレート 「3D」を選択
  4. プロジェクト名 (任意の名前) を入力
  5. 保存先を確認・選択
  6. 「プロジェクトを作成」ボタンを押す

ml-agentsパッケージの追加

  1. プロジェクトのメニュー 「Window Package Manager」 を開く
  2. 「+」をクリック
  3. 「Add package from disk」を選択
  4. 「ml-agents-release_19/com.unity.ml-agents/package.json」を選択

上記の手順で
Project ウィンドウの 「Packages/ML Agents」 に 「ML-Agents パッケー ジ」が追加されたら成功です。

UnityプロジェクトでML-agentを利用したプロジェクトを行いましょう。

プログラミングも行って、いざPythonのmlagents-learnコマンドで学習しようとしたときにエラーが発生することもあります。

その時はこちらの記事を参考にしてください。

mlagents-learnコマンドがエラーで実行できない時の対応
mlagents-learnコマンドがエラーで実行できない時の対応
Unityプロジェクトでエージェント強化学習のプログラムを作成して、 いざPythonで学習しようとmlagents-learnコマンドを実行! ても、エラーが.....

SEおっさん
SEおっさん
ここまで読んでくれてありがとう!

「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪

「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪

LINEでのお問合わせも受付中!
LINE公式アカウント

メッセージをお待ちしています!

取得資格
  • 応用情報技術者
  • Oracle Master Gold
  • Java Silver SE
  • Java EE Webコンポーネントディベロッパ
  • Python エンジニア認定データ分析
  • 簿記2級


スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメントを残す

*