金子邦彦研究室人工知能Windows で動く人工知能関係 Pythonアプリケーション,オープンソースソフトウエア)Anaconda 3 のインストールと, その Python 3 仮想環境に,Unity,ML-Agents,その他, 人工知能フレームワーク類のインストール(Windows 上)

Anaconda 3 のインストールと, その Python 3 仮想環境に,Unity,ML-Agents,その他, 人工知能フレームワーク類のインストール(Windows 上)

Anaconda3 をインストールして Python 開発環境を整える.引き続き,Python の隔離された環境を作り,Unity, ML-Agents, NVIDIA CUDA ツールキット,NVIDIA cuDNN,TensorFlow 1.15 をインストールする.インストールは,conda コマンド等で簡単にできる.

目次

  1. Chocolatey のインストール
  2. Chocolatey を用いて、Unity, Unity Standard Assets, Unity for Linux をインストール
  3. Anaconda3 とは
  4. Anaconda3 のダウンロードとインストール
  5. Anaconda3 の動作確認
  6. インストール済みパッケージの一括更新など
  7. Python の仮想環境の作成(conda を使用)
  8. 新規作成された Python 環境を使いたいとき
  9. Python の仮想環境で、インストールの前準備を行う
  10. Unity ML-Agents のための Python パッケージをインストールする
  11. Unity ML-Agents ツールキットをダウンロードし、インストールする
  12. Unity を起動し、Unity ML-Agents の設定を行う

先人に感謝.

Anaconda3 の URL: https://www.anaconda.com

Chocolatey のインストール

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 を管理者として実行.案内に従い,PowerShell で「Get-ExecutionPolicy」を実行す

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

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

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

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

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

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

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

    しばらく待つ

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

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

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

    [image]

Anaconda3 とは

Anaconda3 は,Anaconda Inc. 社が提供している Python バージョン 3 のための総合的なソフトウェアであり言語処理系,開発ツール,パッケージ管理ツールである conda,さらに主要な Python パッケージ群が一体化されている.主な同封アプリケーションは次の通りである.

Anaconda3 のダウンロードとインストール

ここでの設定

ダウンロードとインストールの手順

  1. Anaconda3 の Web ページを開く

    https://www.anaconda.com

  2. Download」をクリックする.

    [image]
  3. ダウンロードが始まる

    [image]
  4. ファイルのダウンロードが始まる.

    [image]
  5. ダウンロードした .exe ファイルを実行

  6. ようこそ画面では,「Next」をクリック.

    [image]
  7. ライセンス条項の画面

    [image]
  8. インストールタイプは「All Users」を選び,「Next」をクリック.

    [image]
  9. インストールディレクトリ(フォルダ)は既定(デフォルト)のままでよい.「Next」をクリック.

    ※ インストールのときに「All Users」でなく「Just Me」を選んだときの注意点:日本語を含むディレクトリにはインストールしないことにする。 日本語を含むディレクトリが既定(デフォルト)になっているときは、 別のディレクトリを設定すること。

    [image]
  10. インストールを開始したいので,「Install」をクリック.

    オプションは既定(デフォルト)のままで進める. ※ 「Add Anaconda3 to the system PATH environment variable」をチェックしないAnaconda3 に同封のプログラムにパスを通すと,使いにくくなる(好みの問題ではある)と考える.Anaconda3 などの起動は Windows のスタートメニューで行うことにする.

    [image]

    ※ 「Add Anaconda3 to the system PATH environment variable」にチェックした場合は,システム環境変数 PATH に,自動で追加される

    [image]
  11. インストールが始まる.

    しばらく待つ

    [image]
  12. インストール完了の表示.「Next」をクリック.

    [image]
  13. PyCharm についての案内が表示されるので確認する
  14. インストール完了の確認

    [image]
  15. Windows のスタートメニューの「Anaconda3 (64-bit)」 の下に、 Anaconda プロンプト (Anaconda Prompt)),Spyder があることを確認する.

    [image]

Anaconda3 の動作確認

Python を使ってみる

  1. スタートメニューで Spyder を起動.
  2. Spyder の画面が出る.

    [image]
  3. 動作確認のため,Spyder の IPython コンソールで,次の Python プログラムを実行してみる
    print(1 + 2)
    

    [image]

    今度は,次の Python プログラムを実行する

    import numpy as np
    %matplotlib inline
    import matplotlib.pyplot as plt
    import warnings
    warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
    plt.style.use('ggplot')
    x = [1, 2, 3, 4]
    y = [3, 5, 2, 4]
    plt.scatter(x, y)
    

    [image]

Anaconda Prompt の確認

  1. スタートメニューで Anaconda プロンプト (Anaconda Prompt) を起動.
  2. 画面が開くので確認

    [image]
  3. インストール済みパッケージの確認は「conda list」で行う
  4. 特定のパッケージのバージョン確認は「conda list <パッケージ名>」で行う.

    conda list numpy
    

    [image]

インストール済みパッケージの一括更新など

  1. Anaconda プロンプト (Anaconda Prompt)管理者として実行する.

    [image]

    conda 公式のチートシート:

    [image]

    (途中省略)

    [image]

Python の仮想環境の作成(conda を使用)

  1. 今から作成するPython 環境の名前と、Pythonのバージョンを決めておく
  2. Anaconda プロンプト (Anaconda Prompt)管理者として実行する.

    [image]
  3. 前もって Python をインストールしておく.

    次のコマンドを実行.

    「Proceed ([y]/n) ?」 に対しては Enterキー

    conda create -n ml-agents
    

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

    [image]

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

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

  1. Anaconda プロンプト (Anaconda Prompt) はコマンドラインインターフェイス を実行.

  2. 次のコマンドを実行し,Python 環境(名前は ml-agents)を有効にする.
    activate ml-agents
    

    [image]

    ※ もとの Python 環境に戻るときは「exit

Python の仮想環境で、インストールの前準備を行う

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

  1. Anaconda プロンプト (Anaconda Prompt)管理者として実行する.

    [image]
  2. いま作成した Python 環境を有効にする

    次のコマンドを実行.

    activate ml-agents
    

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

    1行ずつ実行

    「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作.「CondaKeyError: 'channels' 'conda-forge' ...」というエラーメッセージは無視してよい.

    conda config --remove channels conda-forge
    

    [image]
    conda upgrade -y --all
    

    [image]
    conda clean -y --packages
    

    [image]
  4. conda の動作確認

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

    conda info
    

    [image]

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

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

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

Anaconda では,「conda」形式のパッケージを、簡単に扱うことができる. conda を用いてPythonパッケージ以外のソフトウェアをインストールすることもできる

NVIDIA ドライバ

次のページの手順により,インストールを行う

GPU は,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある.

TensorFlow 1.15 のインストール(conda を使用)

  1. Anaconda プロンプト (Anaconda Prompt)管理者として実行する.

    [image]
  2. いま作成した Python 環境を有効にする

    次のコマンドを実行.

    activate ml-agents
    

    [image]
  3. condaを用いてインストール

    GPU 版 TensorFlow をインストールする場合

    conda install -y -c conda-forge tensorflow-gpu=1.15 tensorflow-datasets
    conda config --remove channels conda-forge
    

    CPU 版の TensorFlow をインストールする場合

    ※ このとき,NVIDIA CUDA ツールキットNVIDIA cuDNN が, TensorFlow に合うように,自動でバージョンダウンされる場合がある. これは問題ない.

    conda install -y -c conda-forge tensorflow=1.15 tensorflow-datasets
    conda config --remove channels conda-forge
    
  4. TensorFlow のバージョン確認

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

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

    [image]
  5. (GPU を使うとき) TensorFlow からGPU が認識できているかの確認

    実行結果の中に,実行結果の中に,次のように「device_type: "GPU"」があれば,GPUが認識できている.エラーメッセージが出ていないことを確認しておくこと.

    python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
    

    [image]

ML-Agents の前提 Python パッケージのインストール(conda を使用)

https://github.com/Unity-Technologies/ml-agents/blob/master/ml-agents/setup.py の記述による

  1. Anaconda プロンプト (Anaconda Prompt)管理者として実行する.

    [image]
  2. いま作成した Python 環境を有効にする

    次のコマンドを実行.

    activate ml-agents
    

    [image]
  3. condaを用いてインストール

    時間がかかるので待つ

    conda install -y grpcio jupyter matplotlib numpy pillow protobuf pyyaml
    conda install -y -c conda-forge h5py
    conda config --remove channels conda-forge
    

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

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md の記述に従う
  1. Git のインストール: 別ページ »で説明

    git の URL: https://git-scm.com/

    Windows での Git のインストール手順は,別ページ »で説明している.

  2. Anaconda プロンプト (Anaconda Prompt)管理者として実行する.

    [image]
  3. いま作成した Python 環境を有効にする

    次のコマンドを実行.

    activate ml-agents
    

    [image]
  4. Unity ML-Agents ツールキットをダウンロードする

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

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

    [image]
  5. 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]
    (以下省略)
  6. pip コマンドを用いて ml-agents をインストール

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

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

    「mlagents_envs==0.14」の「0.14」は,エラーの出ない版を指定する.

    cd c:\tools\ml-agents
    cd ml-agents
    python -m pip install mlagents_envs==0.14
    python setup.py build
    python setup.py install 
    
  7. エラーメッセージが出ないことの確認

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

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

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

    エラーメッセージが出たときは,上の操作の代わりに, 「python -m pip install mlagents==0.14」を実行して,mlagents をインストールする

    mlagents-learn --help
    

    [image]

Unity を起動し、Unity ML-Agents の設定を行う

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

関連ページ: https://github.com/Unity-Technologies/ml-agents/blob/main/docs/Getting-Started.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

  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]