【Unity ML-Agents ver.0.5 対応】大幅な仕様変更に対応!ML-Agents のインストール方法

Unity

はじめに

この記事ではUnityで機械学習が行えるライブラリ「Unity ML-Agents」の導入方法を紹介します。

 

― YouTubeでも視聴可能です ―

 

※開発環境

今回の開発環境は Windows 10 (64 bit)、Python 3.7 、ML-Agents ver 0.5を想定しています。

 

1、Unity ML-Agents のインストール

GitHub – Unity ML-Agents からダウンロード

以下のリンクからGitHubへ行き、「Clone or download」をクリックして「Download ZIP」してください。

Unity-Technologies/ml-agents
Unity Machine Learning Agents Toolkit. Contribute to Unity-Technologies/ml-agents development by creating an account on GitHub.

 

ダウンロードしたZIPを「Lhaplus」などの解凍ソフトを使って解凍してください。

本記事では、解凍したファイルはデスクトップ上に置くものとします。

 

 

2、TensorFlowSharp in Unityをインストール

以下リンクからGitHubへ行き、「Requirements」の「Unity TensorFlow Plugin」からTensorFlowのPluginをダウンロードしてください。

TensorFlowとは、Googleが主導して開発している、機械学習のライブラリです。

Build software better, together
GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.

 

 

 

3、Anaconda のインストール

・Anaconda.exeのインストール

以下のリンクから、「Python 3.7 version」をクリックして、『Anaconda』をインストールしてください。

Build software better, together
GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.

 

 

 

・Anacondaのセットアップ

Anacondaをダウンロードしたら以下のような画面が現れますが、×で閉じて構いません。

 

 

「Next」をクリック。

 

 

「I Agree」をクリック。

 

 

「Next」をクリック。

 

 

好きなフォルダを選択して「Next」をクリック。

ただし、ユーザー名はできればアルファベットの方がいいです。

日本語では何らかのエラーが生じることがあります。

ちなみに、私はいつもユーザー名は「国際標準化機構」の「iso」にしてます笑

みなさんはご利用中のPCのユーザー名をご使用ください。

 

 

「Install」をクリック。

ここでポイントですが、Anacondaが上手く実行されない場合、「PATHを通す」ことで改善することがあります。

私の場合は「Add Anaconda to my PATH environment variable」にチェックを入れずにインストールしたら普通に上手くいきましたが、もし上手くいかなかった場合は、これにチェックを付けてインストールしてみてください

参考になりそうなリンクも貼っておきます。

 

PythonのPATHの通し方参考リンク

 

 

4、Anaconda Navigatorの設定

Anacondaをインストールしたら、Windowsの「プログラム一覧」をより、「Anaconda Navigator」を起動してください。

 

 

Anaconda Navigatorのサイドバーより「Environments」を選択。

 

 

「Create」をクリックして、出てきたウィンドウのNameに好きな名前を付けて、Pythonのバージョンを3.7にしてください。完了したら「Create」をクリック

 

 

作成した環境(今回はmlagents)の右の「▶ボタン」をクリックし、「Open Terminal」をクリックすると、コマンドプロンプトが起動します。

 

 

 

5、Pythonパッケージのインストール

・Pythonのバージョンの確認

コマンドプロンプトに「python –version」と入力してEnterを押してください。

「Python 3.7.1」と表示されたらオッケーです。

 

・Python 3.6のインストール

次の手順でPythonのパッケージのインストールを行うのですが、ml-Agents ver0.5では「Python3.6 以上、3.7未満」のバージョンを要求されます。なので、最新のPythonのバージョンである3.7.1ではインストールできません

そこで、今回はPython 3.6.3をインストールします。「conda create -n ml-agents python=3.6.3」と入力してください。途中の質問には「y(=yes)」で答えてください。

また、コマンドプロンプトの入力行の頭文字が(base)となっている場合は「activate ml-agents」と入力して(ml-agents)と表示させてください。

Unity ゲーム制作日記様より引用

 

 

・pip installを使ったパッケージのインストール

GitHubよりダウンロードして解凍した「ml-agentsm-master」フォルダ内に、「ml-agents」フォルダがあるので、コマンドプロンプトのディレクトリをそのフォルダに移動します。

古いバージョンである、ML-Agents ver 0.4 ではこの「ml-agents」フォルダが「python」という名前でした。なので、昔の記事や資料では「cd python」でディレクトリを移動するように指示していますが、最新のver 0.5 では「ml-agents」となっているので注意してください。

 

 

ml-agentsフォルダを開いて、フォルダのアドレスをコピーしてください。

 

 

コマンドプロンプトに「cd コピーしたURL」のように記入してEnterを押してください。すると、ディレクトリがml-agentsへ移動します。

次に、「pip install .」と入力してください。これでパッケージがインストールされます。

これで、環境設定は以上です。

 

 

6、Unity側のML-Agentsの設定

1、UnitySDKのインポート

Unityを起動して、File > Open Projectより「UnitySDK」を開いてください。場所はml-agents-master/UnitySDKです。インポートが完了しましたら、ProjectウィンドウのAsset内に「ML-Agents」フォルダが現れます。

 

2、Unity TensorFlow Plugin をインポート

前回の記事を参照して頂いた方は「Unity TensorFlow Plugin」がダウンロードされていることと思います。

まだの方は前回の記事を参照してダウンロードしてください。

Unity エディタのAsset > Import Package > Custom Package よりダウンロードした「TFSharpPlugin.unitypackage」をインポートしてください。

 

3、ビルド設定

Unity エディタの File > Build Setting を開いて、現れたウィンドウの左下にある「Player Settings」を開いてください。

 

 

すると、Inspector上に「Player Settings」が現れるので、「Resolution and Presentation」タブをクリックして開いてください。

その中にある、「Run In BackGround」にチェックを入れてください。これで、バックグラウンド実行を有効化します。

続いて、「Display Resolution Dialog」を「Disabled」にしてください。これでResolutionダイアログを非表示にします。

 

続いて「Other Settings」タブをクリックし、「Scripting Runtime Version」を「Experimental (.NET 4.6 Equivalent)」にしてください。

さらに、「Scripting Define Symbols」に「ENABLE_TENSORFLOW」と記入してください。

 

これでUnityエディタ上のセッティングは完了です。

 

忙しい人のためのUnity入門講座へ戻る

 

すくまりゲームズの人気記事

 

 

 

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