🔬

[Unity]ML-Agentsを使うための環境構築(Release 12)

2021/01/30に公開

概要

ML-Agentsを使うにあたり、Web上の記事を参考に環境構築をしていたのですが、バージョンの違いによって結構、差があってわかりにくかったので記事にしてまとめておきます。

この記事では、基本的な環境を構築するところまでをまとめています。
構築した環境を使ってサンプルを動かす手順については、以下の記事にまとめています。

[Unity]ML-Agentsのサンプルゲームを動かしてみる(Release 12)

環境

  • macOS Catalina 10.15.6
  • Unity 2019.4.9f1
  • ML-Agents Release12
  • python 3.8.2

ポイント

  • バージョンによってメソッドの引数などが変わってたりするので、基本的にWeb上の記事より公式サイトを参照した方が良い
  • 公式サイトはこちら
    • 「Releases & Documentation」から使用するバージョンのdocsを確認する
  • 公式サイトも修正が漏れてたりするので手順通りに進めた方がいい
    • 前の工程で記述していたusingが後のコードでは抜けてたりするので、あんまり確認せずにコピペして動かすとエラーになったりする

手順

  1. pythonの実行環境を準備する
  2. Unityの実行環境を準備する

1.pythonの実行環境を準備する

機械学習を実行するためのpython実行環境を準備します。
pythonのインストールがまだの場合は先にインストールしておいてください。
ここではpython3.8.2を使用しています。

1-1 ML-Agentsのパッケージ一式をダウンロードする

Unity公式のgithubページから使用したいバージョンのML-Agentsをダウンロードしてください。
リンクはこちら

1-2 機械学習の実行環境を準備する

仮想環境の構築

① 任意の場所にプロジェクト用のフォルダを作成する

② ターミナルを起動し、そのフォルダに移動する

cd プロジェクト用のフォルダへのパス 

フォルダへのパスを手入力するのが面倒な場合は、ターミナルにフォルダをドラッグ&ドロップすればパスが自動的に入ります。

③ Pythonの仮想環境を作成する

ここではvenvを使用して仮想環境を作成しています。
ML-Agentsの本でanacondaを使用しているためか、仮想環境の構築をanacondaでしている例がネットでもよく見られますが、ここはどちらでも構わないので好きな方法で仮想環境を作成してください。

以下はvenvで「venv」という名前の仮想環境を作成する例です。仮想環境の名前を変えたい場合は、最後のvenvを好きな名前に変えて実行してください。

python3 -m venv venv

④ 仮想環境をActivateする

macの場合、以下のコマンドで仮想環境をactivateできます。
([envname]の部分は適宜、自分が作成した仮想環境の名前に置き換えて実行してください)

source [envname]/bin/activate

windowsの場合は以下のコマンドらしいですが未確認です。

.\[envname]\Scripts\activate

(参考)仮想環境の終了、削除
activateした仮想環境を終了したい場合

deactivate [envname]

仮想環境を削除したい場合はdeactivateしてからフォルダを削除すればOKです。

1-3 pythonパッケージのインストール

作成した仮想環境に、機械学習用のpythonパッケージをインストールしていきます。

① パッケージのインストール

「1-1 ML-Agentsのパッケージ一式をダウンロードする」でUnity公式ページからダウンロードしてきたパッケージを仮想環境にインストールします。
以下のコマンドをターミナルで実行してください。

pip install -e [1-1でダウンロードしたML-Agentsのパッケージのパス]/ml-agents-envs
pip install -e [1-1でダウンロードしたML-Agentsのパッケージのパス]/ml-agents

未確認ですが、「ml-agents-envsを先にインストールしないとエラーになる」という情報も見かけたので、この順番でインストールすることをオススメしておきます。

② インストールの確認

以下のコマンドを実行してください。

pip list

いろいろ出てくるかもしれませんが、その中に「ml-agents」と「ml-agents-env」が表示されていればOKです。

以上でpython側の準備はおしまいです!

2.Unityの実行環境を準備する

次にUnity側の準備をしていきます。

基本的な準備は、「1-1 ML-Agentsのパッケージ一式をダウンロードする」でUnity公式ページからダウンロードしてきたパッケージから、Unity用のパッケージをインストールするだけでOKです。

2-1 Unityパッケージのインストール

① Unityのプロジェクトを作成する

② パッケージをローカルインストールする

  • Window→Package Managerを選択
  • 左上の+をクリック
  • Add package from discを選択
  • 「1-1 ML-Agentsのパッケージ一式をダウンロードする」でダウンロードしたML-Agents内の「com.unity-ml-agents/package.json」を選択
  • Openをクリック

Packages内にML Agentsが入って入ればOKです。

以上でML-Agentsを使うための環境構築はおしまいです!
お疲れ様でした。

次回はこの環境を使って、サンプルを動かす手順をまとめていきます。
[Unity]ML-Agentsのサンプルゲームを動かしてみる(Release 12)

Discussion