Windows で,Chocolatey を用いて,Unity + IronPython 2.7 環境を作る手順を説明する.
特記事項: Unity の利用条件、ライセンス条項は,利用者で確認すること
ここで行うこと
【目次】
注意事項. Chocolatey を使うと、種々のソフトウェアのインストールが楽になる. このとき、インストールしたソフトウェアの利用条件、ライセンス条項は必ず、確認すること.
特に、次のことに気をつけること
※ 「行いたい」というときには、それぞれのソフトウェアの利用条件、ライセンス条項を確認すること
Windows の 「アプリと機能」で、インストール済みのプログラムを見る。 次のソフトがある場合には、アンインストールする
今からインストールを行うので、混乱を防ぐため
まず,git, cmake, wget, 7zip などのインストールや更新を楽に行えるようにするために、 Chocolatey をインストールする.
注意事項. Chocolatey を使うと、種々のソフトウェアのインストールが楽になる. このとき、インストールしたソフトウェアの利用条件、ライセンス条項は必ず、確認すること.
Chocolatey の Web ページの記載の手順に従う.
新しい画面に変わるので確認する
コマンドプロンプトを管理者として実行: 別ページ »で説明
実行のとき、エラーメッセージが出ないことを確認すること
choco install -y git.install cmake.install wget 7zip.install
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\Program Files\Git\cmd\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\Program Files\CMake\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
いまのコマンドプロンプトで次を実行し,エラーメッセージが出ないことを確認.
refreshenv where git where git-gui where cmake where cmake-gui where wget
コマンドプロンプトを管理者として実行: 別ページ »で説明
実行のとき、エラーメッセージが出ないことを確認すること
choco install -y ironPython dotnet4.5 dotnetcore-sdk
※ エラーメッセージが出なければ OK
where ipy
ipy -V
http://ironpython.net/blog/2014/12/07/pip-in-ironpython-275.html の記述に従う
ipy -X:Frames -m ensurepip
ipy -X:Frames -m pip list
新しく、 Windows のコマンドプロンプトを実行する.
そして、次のコマンドを実行する
where git where git-gui where cmake where cmake-gui
コマンドプロンプトを管理者として実行: 別ページ »で説明
しばらく待つ
※ Unity などをインストール済みのときは、違った画面になる
実行のとき、エラーメッセージが出ないことを確認すること
choco install -y unity unity-standard-assets unity-linux
pip を用いて,Python パッケージを、簡単に扱うことができる.
※ mtcnn については https://github.com/open-face/mtcnn
mkdir c:\ipytools cd c:\ipytools rmdir /s /q imutils rmdir /s /q mtcnn
mkdir c:\ipytools cd c:\ipytools rmdir /s /q folium rmdir /s /q python-overpy rmdir /s /q exif-py rmdir /s /q haversine
cd c:\ipytools git clone https://github.com/python-visualization/folium cd folium python setup.py build python setup.py install cd c:\ipytools git clone https://github.com/DinoTools/python-overpy cd python-overpy python setup.py build python setup.py install cd c:\ipytools git clone https://github.com/ianare/exif-py cd exif-py python setup.py build python setup.py install cd c:\ipytools git clone https://github.com/mapado/haversine cd haversine python setup.py build python setup.py install cd c:\ipytools git clone https://github.com/Turbo87/utm cd utm python setup.py build python setup.py install
※ 下から必要なものを選んでインストール
conda install -y chainer conda install -y graphviz conda install -y pydot conda install -y yaml conda install -y flask conda install -y django conda install -y sympy conda install -y sqlite conda install -y redis conda install -y gensim conda install -y cython conda install -y pylint conda install -y bz2file conda upgrade -y --all
Unity はゲームエンジン.ここでは、Unity を起動し、Unity ML-Agents の設定を行う
https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Basic-Guide.md の記述に従う
スタートメニューを使って起動するのが簡単
Unity ID を持っていないときは、「Sign in with google」などでログインするか、「create one」をクリックして Unity ID を作る
すでに、「Sign in with google」でログインしたことがある場合は、次のような画面が表示される
Unity の利用条件、ライセンス条項を確認し、利用すること
「Edit」 →「Project Settings」 →「Player」 と操作する
次の URL からダウンロードする
https://s3.amazonaws.com/unity-ml-agents/0.5/TFSharpPlugin.unitypackage
うまくダウンロードできないときは、 https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Basic-Guide.md のWebページを開き、 「Setting up the ML-Agents Toolkit within Unity」のところにある 「Download」をクリック
ダウンロードしたファイルを実行する
次のような画面が開くので「Import」をクリック
少し待つ
Unity のプロジェクトの画面で、 「Assets」 →「ML-Agents」 →「Plugins」 →「Computer」のディレクトリに、TensorFlow のファイルがあるのを確認する
マウスの右ボタンを押しながらマウスを動かすと、回転する
マウスのホイールで、前後移動するする
※ 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面
Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素の Graph Modelフィールドにドラッグする
※すでに設定済みの可能性があるが念のため
これで、事前学習済みのモデルが設定できた。
「Play ボタン」をクリックして、実行を開始する。
事前学習済みのモデルでバランスをとる様子を確認できる
※ 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面
うまくボールを受け止めることができていないことを確認する
※ 実行中のときは保存できないので、実行を停止してから保存する
これで、学習を始める準備ができた.Unity の画面は閉じないこと
次のコマンドを実行.
activate ml-agents
cd c:\tools\ml-agents
「\」でなく「/」を使う
mlagents-learn config/trainer_config.yaml --run-id=1 --train
セキュリティ警告が出た場合には許可する
copy c:\tools\ml-agents\models\1-0\editor_Ball3DAcademy_1-0.bytes c:\tools\ml-agents\UnitySDK\Assets\ML-Agents\Examples\3DBall\TFModels
※ 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面
※ 実行中のときは保存できないので、実行を停止してから保存する
結果を確認する