はじめに
この記事では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」してください。
ダウンロードしたZIPを「Lhaplus」などの解凍ソフトを使って解凍してください。
本記事では、解凍したファイルはデスクトップ上に置くものとします。
2、TensorFlowSharp in Unityをインストール
以下リンクからGitHubへ行き、「Requirements」の「Unity TensorFlow Plugin」からTensorFlowのPluginをダウンロードしてください。
TensorFlowとは、Googleが主導して開発している、機械学習のライブラリです。
3、Anaconda のインストール
・Anaconda.exeのインストール
以下のリンクから、「Python 3.7 version」をクリックして、『Anaconda』をインストールしてください。
・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エディタ上のセッティングは完了です。