トップページ -> インストール,設定,利用 -> Windows -> Windows で Unity ML-Agents + Python 環境を作る(Chocolatey, Anaconda を利用)(Chocolatey, Anaconda を利用)
[サイトマップへ], [サイト内検索へ]

Windows で Unity ML-Agents + Python 環境を作る(Chocolatey, Anaconda を利用)

ユースケース:Windows で Unity ML-Agents ツールキットを試したい

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

特に、次の事項に当てはまらない場合には、よく確認すること

ここで行うこと

目次

  1. 前準備
  2. Chocolatey のインストール
  3. Chocolatey を用いて、git, cmake, wget, 7zip をインストール
  4. Chocolatey を用いて、Python プログラム開発環境 Anaconda, Python 2 をインストール
  5. Chocolatey でインストール済みのパッケージを一括更新
  6. インストールしたソフトウエア類に関する設定
  7. 隔離された Python 環境の作成
  8. 新規作成された Python 環境を使いたいとき
  9. Chocolatey を用いて、Unity, Unity Standard Assets, Unity for Linux をインストール
  10. Unity ML-Agents のための Python パッケージをインストールする
  11. Unity ML-Agents ツールキットをダウンロードし、インストールする

サイト内の関連ページ

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

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

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


前準備

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

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


Chocolatey のインストール

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

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

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

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

    https://chocolatey.org/

  3. Get Started」をクリック

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

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

    [image]
  5. 案内に従い,PowerShell で「Get-ExecutionPolicy」を実行する

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

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

    [image]

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

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

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

    [image]
  2. git, cmake, wget, 7zip をインストール

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

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

  3. Windowsのシステム環境変数Pathの設定

    ※ システム環境変数Pathは、すでに存在するはず.

    次のように,「C:\Program Files\CMake\bin」を付け加える.

    C:\ProgramData\chocolatey\bin
    C:\Program Files\Git\cmd
    C:\Program Files\CMake\bin
    

    Windowsの画面の表示では、円マークになる

    [image]
  4. システム環境変数 Path の確認

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

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


Chocolatey を用いて、Python プログラム開発環境 Anaconda, Python 2 をインストール

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

    [image]
  2. Anaconda, Python 2 をインストール

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

    choco install -y anaconda3 python2
    
  3. Anaconda の conda パッケージの更新、古い conda パッケージファイルの削除

    「conda config --remove channels conda-forge」でのエラーメッセージは無視して良い

    「C:\tools\Anaconda3\Scripts\conda upgrade --all」で、y か n かを尋ねる質問が出たときは、続行したいので「y」

    C:\tools\Anaconda3\Scripts\conda config --remove channels conda-forge
    
    C:\tools\Anaconda3\Scripts\conda upgrade --all
    
    C:\tools\Anaconda3\Scripts\conda clean --packages
    

    ※ 「反応が遅いなあ」と思ったら、Enter キーを押してみる.


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

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

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

    choco upgrade -y all 
    

    [image]

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

  1. Windowsのシステム環境変数Path先頭部分の設定

    ※ システム環境変数Pathは、すでに存在するはずなので、編集

    先頭部分が次のようになるように編集

    ※ すでに、Pathのなかに、一部分含まれているときは、 その部分を並び変えて、下の順序に一致させる

    C:\Program Files\Git\cmd
    C:\Program Files\CMake\bin
    C:\Tools\Anaconda3
    C:\Tools\Anaconda3\Library\mingw-w64\usr\bin
    C:\Tools\Anaconda3\Library\usr\bin
    C:\Tools\Anaconda3\Library\bin
    C:\Tools\Anaconda3\scripts
    C:\Python27\
    C:\Python27\Scripts
    C:\ProgramData\chocolatey\bin
    

    Windowsの画面の表示では、次のように、円マークになる

    [image]
  2. システム環境変数 Path の確認

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

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

    python, pip については、C:\tools\Anaconda3のものが先頭にあることを確認すること. その他については、エラーメッセージが出ないこと.

    where git
    where git-gui
    where cmake
    where cmake-gui
    where python
    where ipython
    where pip
    where conda
    

    [image]
  3. python のバージョンの確認
    python --version 
    
  4. conda の動作確認

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

    conda info
    
  5. Python の numpy パッケージがインストールできたことの確認

    ※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある

    python -c "import numpy; print( numpy.__version__ )"
    

    [image]

    このとき 「Original error was: DLL failed: 指定されたモジュールが見つかりません」 というエラーメッセージが出ることがある.

    [image]

    Windows のシステム環境変数 Path に「C:\Tools\Anaconda3\Library\bin」を含めてから、 新しいコマンドプロンプトで実行してみる


隔離された Python 環境の作成

  1. 今から作成するPython 環境の名前と、Pythonのバージョンを決めておく
  2. Windows のコマンドプロンプトを実行する.
  3. 隔離された Python 環境を作成する

    端末で,次のコマンドを実行.

    conda create -n ml-agents python=3.6
    

    [image]
  4. Python 環境が作成できたことを確認
    conda info -e
    

    [image]

これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3.6名前は ml-agents)の共存できた。


新規作成された Python 環境を使いたいとき


隔離された Python 環境で、インストールの前準備を行う

いま作成した Python 環境で、パッケージの更新などの前準備を行う

  1. Windows で、コマンドプロンプトを実行
  2. Python 環境を有効にする

    端末で,次のコマンドを実行.

    activate ml-agents
    

    [image]
  3. Anaconda の conda パッケージの更新、古い conda パッケージファイルの削除

    conda の行は1行ずつ実行

    「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作(エラーメッセージが出たとしても無視してください).

    conda config --remove channels conda-forge
    

    [image]
    conda upgrade --all
    

    [image]
    conda clean --packages
    

    [image]
    (途中省略)

    [image]
    (以下省略)
  4. conda の動作確認

    エラーメッセージが出ないことを確認

    conda info
    

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

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md の記述により Unity 2017.4 以降をインストールする
  1. Windows で,コマンドプロンプトを管理者として実行

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

    しばらく待つ

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

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

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

    [image]

Unity ML-Agents のための Python パッケージをインストールする

https://github.com/Unity-Technologies/ml-agents/blob/master/ml-agents/requirements.txt の記述に従う

いま作成した Python 環境に、種々の Python パッケージをインストールする

  1. Windows でコマンドプロンプトを実行
  2. Python 環境を有効にする

    端末で,次のコマンドを実行.

    activate ml-agents
    

    [image]
  3. TensorFlow バージョン 1.7.1 をインストールしたいので、次のコマンドを実行

    時間がかかるので待つ

    conda install -y tensorflow=1.7.1
    

    [image]
  4. protobuf バージョン 3.6.0 をインストールしたいので、次のコマンドを実行

    conda install -y protobuf=3.6.0
    

    [image]
  5. grpcio バージョン 1.11.0 をインストールしたいので、次のコマンドを実行

    conda install -y grpcio=1.11.0
    

    [image]
  6. その他 ML-Agents ツールキットに必要なパッケージのインストール
    conda install -y opencv numpy scipy scikit-image matplotlib pillow
    conda install -y -c spyder-ide spyder
    conda install -y jupyter pytest docopt pyyaml cython
    

    [image]
  7. TensorFlow のバージョン確認

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

    1.7.1が表示されることを確認

    python -c "import tensorflow as tf; print( tf.__version__ )"
    

    [image]

Unity ML-Agents ツールキットをダウンロードし、インストールする

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md の記述に従う
  1. Windows で,コマンドプロンプトを管理者として実行

    [image]
  2. Python 環境を有効にする

    端末で,次のコマンドを実行.

    activate ml-agents
    
  3. Unity ML-Agents ツールキットをダウンロードする

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

    cd C:\tools
    rmdir /s /q ml-agents
    git clone https://github.com/Unity-Technologies/ml-agents.git
    

    [image]
  4. imgaug のインストール

    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q imgaug
    

    [image]

    conda install -y opencv cython scikit-image scipy
    git clone https://github.com/aleju/imgaug
    cd imgaug
    python setup.py build
    python setup.py install 
    

    [image]
  5. pip コマンドを用いて ml-agents をインストール

    pip install」の後ろは、半角スペースと半角ピリオド

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

    cd C:\tools\ml-agents
    cd ml-agents
    pip install . 
    

    [image]
  6. インストールができたことを確認する

    端末で,次のコマンドを実行.説明が表示されれば OK.

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

    mlagents-learn --help
    

    [image]

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」のディレクトリに、TenforFlow のファイルがあるのを確認する

    [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]

    本サイトのサイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

    問い合わせ先: 金子邦彦(かねこ くにひこ) [image]