金子邦彦研究室インストールWindows の種々のソフトウェア(インストール)Windows で Unity + IronPython 2.7 環境を作る(Chocolatey を利用)(書きかけ)

Windows で Unity + IronPython 2.7 環境を作る(Chocolatey を利用)(書きかけ)

Windows で,Chocolatey を用いて,Unity + IronPython 2.7 環境を作る手順を説明する.

特記事項: Unity の利用条件、ライセンス条項は,利用者で確認すること

ここで行うこと

目次

注意事項. Chocolatey を使うと、種々のソフトウェアのインストールが楽になる. このとき、インストールしたソフトウェアの利用条件、ライセンス条項は必ず、確認すること.

特に、次のことに気をつけること

※ 「行いたい」というときには、それぞれのソフトウェアの利用条件、ライセンス条項を確認すること

前準備

Windows の 「アプリと機能」で、インストール済みのプログラムを見る。 次のソフトがある場合には、アンインストールする

今からインストールを行うので、混乱を防ぐため

Chocolatey のインストール

まず,git, cmake, wget, 7zip などのインストールや更新を楽に行えるようにするために、 Chocolatey をインストールする.

注意事項. Chocolatey を使うと、種々のソフトウェアのインストールが楽になる. このとき、インストールしたソフトウェアの利用条件、ライセンス条項は必ず、確認すること.

Chocolatey の Web ページの記載の手順に従う.

  1. Windows で,PowerShell を管理者として実行する.

    [image]
  2. Web ブラウザで、Chocolatey の Web ページを開く

    https://chocolatey.org/

  3. Get Started」をクリック

    新しい画面に変わるので確認する

    [image]
  4. 案内を確認する.ライセンス条項も利用者自身で確認すること.

    [image]
  5. PowerShell を管理者として実行.案内に従い,PowerShell で「Get-ExecutionPolicy」を実行す

    [image]
  6. その結果が「Restricted」だった場合には,案内に従い,PowerShell で「Set-ExecutionPolicy Bypass -Scope Process」を実行する

    [image]
  7. 引き続き,案内に従い,Webページに表示されているコマンドをコピーし,PowerShell で実行する

    [image]
  8. 実行の結果,エラーメッセージが出ていないことを確認する.

Chocolatey を用いて、Git, cmake, wget, 7zip をインストール

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. Git, cmake, wget, 7zip をインストール

    実行のとき、エラーメッセージが出ないことを確認すること

    choco install -y git.install cmake.install wget 7zip.install
    

    [image]
  3. Windowsシステム環境変数 Pathに,C:\Program Files\Git\cmd, C:\Program Files\CMake\bin追加することにより,パスを通す

    Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    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\")"
    
  4. Windowsシステム環境変数 Path の確認

    いまのコマンドプロンプトで次を実行し,エラーメッセージが出ないことを確認.

    refreshenv
    where git
    where git-gui
    where cmake
    where cmake-gui
    where wget
    

    [image]

Chocolatey を用いて、IronPython 2.7 をインストール

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. IronPython 2.7 をインストール

    実行のとき、エラーメッセージが出ないことを確認すること

    choco install -y ironPython dotnet4.5 dotnetcore-sdk
    

    [image]
  3. インストールできたことを確認

    ※ エラーメッセージが出なければ OK

    where ipy
    

    [image]
  4. IronPython のバージョンの確認
    ipy -V
    

    [image]
  5. ensurepip を用いて pip, setuptools をインストール

    http://ironpython.net/blog/2014/12/07/pip-in-ironpython-275.html の記述に従う

    ipy -X:Frames -m ensurepip
    

    [image]
  6. IronPython で、インストール済みのパッケージの確認

    ipy -X:Frames -m pip list
    

    [image]

Chocolatey でインストール済みのパッケージを一括更新

  1. Windows で,新しくコマンドプロンプト管理者として実行する.
  2. 更新の操作

    コマンドプロンプトで,次のコマンドを実行

    choco upgrade -y all 
    

    [image]

インストールしたソフトウェア類に関する設定

  1. Windowsシステム環境変数 Path の確認

    新しくWindows のコマンドプロンプトを実行する.

    そして、次のコマンドを実行する

    where git
    where git-gui
    where cmake
    where cmake-gui
    

    [image]

Chocolatey を用いて、Unity, Unity Standard Assets, Unity for Linux をインストール

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. Chocolatey を用いて、Unity, Unity Standard Assets, Unity for Linux をインストール

    しばらく待つ

    ※ Unity などをインストール済みのときは、違った画面になる

    実行のとき、エラーメッセージが出ないことを確認すること

    choco install -y unity unity-standard-assets unity-linux
    

    [image]

各種パッケージのインストール

pip を用いて,Python パッケージを、簡単に扱うことができる.

  1. Window でコマンドプロンプトを実行
  2. IronPython で、 のインストール

    ipy -X:Frames -m pip install requests==1.1.0 
    ipy -X:Frames -m pip install firebase -
    ipy -X:Frames -m pip install cython 
    
  3. dll ファイルのコピー

    [image]

    [image]





    以下、書きかけ conda install -y numpy scipy h5py scikit-learn scikit-image matplotlib seaborn pandas pandasql pillow conda install -y jupyter pytest docopt pyyaml cython
  4. imutils, mtcnn のインストール

    ※ mtcnn については https://github.com/open-face/mtcnn

    mkdir c:\ipytools
    cd c:\ipytools
    rmdir /s /q imutils
    rmdir /s /q mtcnn
    

    cd c:\ipytools
    git clone https://github.com/jrosebr1/imutils
    cd imutils
    python setup.py build
    python setup.py install 
    
    cd c:\ipytools
    git clone https://github.com/ipazc/mtcnn
    cd mtcnn
    python setup.py build
    python setup.py install 
    
  5. python-visualization/folium, DinoTools/python-overpy, ianare/exif-py, mapado/haversine, Turbo87/utm のインストール
    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 
    
  6. その他、各種パッケージのインストール

    ※ 下から必要なものを選んでインストール

    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 ML-Agents の設定を行う

Unity はゲームエンジン.ここでは、Unity を起動し、Unity ML-Agents の設定を行う

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Basic-Guide.md の記述に従う

  1. Unity を起動する

    スタートメニューを使って起動するのが簡単

  2. サインインする

    Unity ID を持っていないときは、「Sign in with google」などでログインするか、「create one」をクリックして Unity ID を作る

    [image]

    すでに、「Sign in with google」でログインしたことがある場合は、次のような画面が表示される

    [image]
  3. 初回起動時には、ライセンス管理の画面が開く. 下の画面では、 「Unity Personal」の方を選んでいる

    Unity の利用条件、ライセンス条項を確認し、利用すること

    [image]
  4. 初回起動時には、「Please select one of the options below」の画面が開くので、1つ選び、「Next」をクリック
  5. 初回起動時には、「Thank you!」の画面が開くので、1つ選び、「Start Using Unity」をクリック
  6. Unity の画面が開くので確認する

    [image]
  7. UnitySDK のプロジェクトを開きたいので、「Open」をクリック

    [image]
  8. c:\tools\ml-agents\UnitySDK」を選ぶ.少し待つ

    [image]
  9. このとき「Opening Project in Non-Matching Editor Installation」という画面が出る場合がある。 「Continue」をクリック

    [image]
  10. 設定を行う

    Edit」 →「Project Settings」 →「Player」 と操作する

    [image]
  11. Other Settings」をクリック

    [image]
  12. Scripting Runtime Version は、「.NET 4.6 Experimental」か「.NET 4.x Equivalent」にする(どちらかが選べるはず)

    [image]
  13. Scripting Defines Symbols は、「ENABLE_TENSORFLOW」を設定する

    [image]
  14. File」 →「Save Project」 と操作して、設定を保存する

    [image]
  15. TensorFlowSharp プラグインをダウンロードする

    次の 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」をクリック

  16. ダウンロードが始まる

    [image]
  17. ダウンロードしたTensorFlowSharp プラグインをインポートする

    ダウンロードしたファイルを実行する

    次のような画面が開くので「Import」をクリック

    [image]

    少し待つ

    [image]
  18. インポートが成功したかの確認

    Unity のプロジェクトの画面で、 「Assets」 →「ML-Agents」 →「Plugins」 →「Computer」のディレクトリに、TensorFlow のファイルがあるのを確認する

    [image]

事前学習済みのモデルを実行してみる

  1. Unity のプロジェクトウインドウ (Project window) で、 「Assets」 →「ML-Agents」 →「Examples」 →「3DBall」のディレクトリを開く

    [image]
  2. ここの「Scene」下にある、3DBall のシーンファイルを、ダブルクリックして開く

    [image]
  3. 画面が変わるので確認

    [image]
  4. 上にある画面をクリック。

    マウスの右ボタンを押しながらマウスを動かすと、回転する

    マウスのホイールで、前後移動するする

    [image]
  5. 階層の画面(Hierarchy window)で、 Ball3DAcademy ゲームオブジェクトにある Ball3DBrain をクリック

    ※ 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面

    [image]
  6. インスペクタの画面(Inspector window)に、プロパティが表示されるので確認する

    [image]
  7. Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素は、 Player, Heuristic, External, Internalから選ぶことができる

    [image]
  8. Brain 要素を、 Player から Internalに変更する

    [image]
  9. Unity のプロジェクトウインドウ (Project window) で、 「Assets」 →「ML-Agents」 →「Examples」 →「3DBall」 →「TFModels」 のディレクトリを開く

    [image]
  10. このディレクトリにある「3DBall」という名前のモデルファイルを、

    Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素Graph Modelフィールドにドラッグする

    ※すでに設定済みの可能性があるが念のため

    [image]

    [image]

    これで、事前学習済みのモデルが設定できた。

  11. 実行を開始する。

    Play ボタン」をクリックして、実行を開始する。

    事前学習済みのモデルでバランスをとる様子を確認できる

    [image]

    [image]
  12. もう1度「Play ボタン」をクリックして、実行を停止する。

    [image]

学習を行ってみる

  1. もし実行中のときは、「Play ボタン」をクリックして、実行を停止しておく.
  2. 階層の画面(Hierarchy window)で、 Ball3DAcademy ゲームオブジェクトにある Ball3DBrain をクリック

    ※ 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面

    [image]
  3. インスペクタの画面(Inspector window)で、 Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素を、 Externalに変更する

    [image]
  4. External」に設定されていることを確認する

    [image]
  5. Play ボタン」をクリックして、実行を開始する。

    うまくボールを受け止めることができていないことを確認する

  6. もう1度「Play ボタン」をクリックして、実行を停止する。

    [image]
  7. File」 →「Save Project」 と操作して、設定を保存する.

    ※ 実行中のときは保存できないので、実行を停止してから保存する

    これで、学習を始める準備ができた.Unity の画面は閉じないこと

    [image]
  8. Windows でコマンドプロンプトを実行
  9. Python 環境を有効にする

    次のコマンドを実行.

    activate ml-agents
    

    [image]
  10. カレントディレクトリを、ML-Agents ツールキットのディレクトリに移動
    cd c:\tools\ml-agents
    

    [image]
  11. mlagents-learn コマンドを用いて学習

    「\」でなく「/」を使う

    mlagents-learn config/trainer_config.yaml --run-id=1 --train
    

    セキュリティ警告が出た場合には許可する

    [image]
  12. training by pressing the Player button in the Unity Editor」と表示されるので、Unity の「Play ボタン」をクリック

    [image]
  13. 学習が進む

    [image]
  14. 学習が終わる

    [image]
  15. 学習済みのデータを Unityの配下にコピーする
    copy c:\tools\ml-agents\models\1-0\editor_Ball3DAcademy_1-0.bytes c:\tools\ml-agents\UnitySDK\Assets\ML-Agents\Examples\3DBall\TFModels
    

    [image]
  16. 階層の画面(Hierarchy window)で、 Ball3DAcademy ゲームオブジェクトにある Ball3DBrain をクリック

    ※ 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面

    [image]
  17. インスペクタの画面(Inspector window)に、プロパティが表示されるので確認する

    [image]
  18. Brain 要素を、 Player から Internalに変更する

    [image]
  19. Unity のプロジェクトウインドウ (Project window) で、 「Assets」 →「ML-Agents」 →「Examples」 →「3DBall」 →「TFModels」 のディレクトリを開く

    [image]
  20. このディレクトリにある「editor_Ball3DAcademy_1-0.bytes」という名前のモデルファイルを、 Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素Graph Modelフィールドにドラッグする

    [image]

    [image]
  21. File」 →「Save Project」 と操作して、設定を保存する

    ※ 実行中のときは保存できないので、実行を停止してから保存する

  22. これで、学習済みのモデルが設定できた。 「Play ボタン」をクリックして、実行を開始する。

    結果を確認する

    [image]
  23. もう1度「Play ボタン」をクリックして、実行を停止する。

    [image]