Anaconda 3 のインストールと, その Python 3 仮想環境に,Unity,ML-Agents,その他, 人工知能フレームワーク類のインストール(Windows 上)
Anaconda3 をインストールして Python 開発環境を整える.引き続き,Python の隔離された環境を作り,Unity, ML-Agents, NVIDIA CUDA ツールキット,NVIDIA cuDNN,TensorFlow 1.15 をインストールする.インストールは,conda コマンド等で簡単にできる.
【目次】
- Chocolatey のインストール
- Chocolatey を用いて、Unity, Unity Standard Assets, Unity for Linux をインストール
- Anaconda3
- Anaconda3 のダウンロードとインストール
- Anaconda3 の動作確認
- インストール済みパッケージの一括更新など
- Python の仮想環境の作成(conda を使用)
- 新規作成された Python 環境を使いたいとき
- Python の仮想環境で、インストールの前準備を行う
- Unity ML-Agents のための Python パッケージをインストールする
- Unity ML-Agents ツールキットをダウンロードし、インストールする
- Unity を起動し、Unity ML-Agents の設定を行う
先人に感謝.
Chocolatey のインストール(Windows 上)
Chocolatey は,Windows で動くパッケージマネージャ. アプリケーションのインストールや更新が簡単にできるようになる.
* 注意事項. Chocolatey のライセンス条項は必ず確認すること.
* 注意事項. Chocolatey を使うと、種々のソフトウェアのインストールが楽になる. このとき、インストールするソフトウェアの利用条件、ライセンス条項は必ず、確認すること.
インストールは,Chocolatey の Web ページの記載の手順に従う.
-
Windows で,PowerShell を管理者として実行する.
- Web ブラウザで,Chocolatey の Web ページを開く
- 「Get Started」をクリック
新しい画面に変わるので確認する
- 案内を確認する.ライセンス条項も利用者自身で確認すること.
- PowerShell を管理者として実行.案内に従い,PowerShell で「Get-ExecutionPolicy」を実行す
- その結果が「Restricted」だった場合には,案内に従い,PowerShell で「Set-ExecutionPolicy Bypass -Scope Process」を実行する
- 引き続き,案内に従い,Webページに表示されているコマンドをコピーし,PowerShell で実行する
- 実行の結果,エラーメッセージが出ていないことを確認する.
Chocolatey を用いて、Unity, Unity Standard Assets, Unity for Linux をインストール
https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md の記述により Unity 2018.4 以降をインストールする- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- Chocolatey を用いて、Unity, Unity Standard Assets, Unity for Linux をインストール
しばらく待つ
* Unity などをインストール済みのときは、違った画面になる
実行のとき、エラーメッセージが出ないことを確認すること
choco install -y unity unity-standard-assets unity-linux
Anaconda3 とは
Anaconda3は,Anaconda Inc. 社が提供しているPythonバージョン3のソフトウェアである.言語処理系,開発ツール,パッケージ管理ツールconda,さまざまなPythonパッケージから構成されている.さらに,アプリケーションとして Spyder,conda,Anaconda Prompt,Jupyter Notebook,Anaconda Navigator が含まれている.
- Spyder: Python 開発環境
- conda
conda は Python のパッケージのインストール,各種ソフトウェアのインストール,新しい Python 環境の作成等を行えるソフトウェア
conda は Anaconda3 の根幹となっており「conda を使わない」ということはできない.
- Anaconda プロンプト (Anaconda Prompt) はコマンドラインインターフェイス
- Jupyter ノートブック (Jupyter Notebook) は,対話型のプログラム実行ツール.Web ブラウザで動く.Python 以外にも Julia, Ruby, R, Lua, LuaJIT, Haskel, Scala,Go, JavaScript, node.js, bash などに対応.
- Anaconda Navigator は,ベースのアプリケーション管理ツール.
【関連する外部ページ】
- Anaconda3 の公式ページ: https://www.anaconda.com
- Anaconda3 の公式ダウンロードページ: https://www.anaconda.com/download
- conda 公式のチートシート: https://conda.io/projects/conda/en/latest/user-guide/cheatsheet.html
【関連項目】 Anaconda3 のインストール(winget を使用)(Windows 上)
Anaconda3 のダウンロードとインストール
ここでの設定
- インストールディレクトリ(フォルダ): C:¥ProgramData¥Anaconda3
- インストールタイプ: All Users
ダウンロードとインストールの手順
- Anaconda3 の Web ページを開く
- 「Download」をクリックする.
- ダウンロードが始まる
- ファイルのダウンロードが始まる.
- ダウンロードした .exe ファイルを実行.
- ようこそ画面では,「Next」をクリック.
- ライセンス条項の画面
- インストールタイプは「All Users」を選び,「Next」をクリック.
- インストールディレクトリ(フォルダ)は既定(デフォルト)のままでよい.「Next」をクリック.
* インストールのときに「All Users」でなく「Just Me」を選んだときの注意点:日本語を含むディレクトリにはインストールしないことにする。 日本語を含むディレクトリが既定(デフォルト)になっているときは、 別のディレクトリを設定すること。
-
インストールを開始したいので,「Install」をクリック.
オプションは既定(デフォルト)のままで進める. * 「Add Anaconda3 to the system PATH environment variable」をチェックしない.Anaconda3 に同封のプログラムにパスを通すと,使いにくくなる(好みの問題ではある)と考える.Anaconda3 などの起動は Windows のスタートメニューで行うことにする.
* 「Add Anaconda3 to the system PATH environment variable」にチェックした場合は,システム環境変数 PATH に,自動で追加される
- インストールが始まる.
しばらく待つ
- インストール完了の表示.「Next」をクリック.
- PyCharm についての案内が表示されるので確認する
- インストール完了の確認
- Windows のスタートメニューの「Anaconda3 (64-bit)」 の下に、
Anaconda プロンプト (Anaconda Prompt)),Spyder があることを確認する.
Anaconda3 の動作確認
Python を使ってみる
- スタートメニューで Spyder を起動.
- Spyder の画面が出る.
- 動作確認のため,Spyder の IPython コンソールで,次の Python プログラムを実行してみる
print(1 + 2)
今度は,次の 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)
Anaconda Prompt の確認
- スタートメニューで Anaconda プロンプト (Anaconda Prompt) を起動.
- 画面が開くので確認
- インストール済みパッケージの確認は「conda list」で行う
- 特定のパッケージのバージョン確認は「conda list <パッケージ名>」で行う.
conda list numpy
インストール済みパッケージの一括更新など
- Anaconda プロンプト (Anaconda Prompt) を管理者として実行する.
- 「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作
「conda-forge」は入っていないはずだが,念のため実行する.
- conda updata -n base conda: conda の更新
- conda update anaconda: パッケージを最新の Anaconda3 安定版のものに更新
- conda clean -y --allは,パッケージのキャッシュの削除
conda 公式のチートシート:
conda config --remove channels conda-forge conda update -y -n base conda conda update -y anaconda conda update -y --all conda clean -y --all
(途中省略)
- 「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作
Python の仮想環境の作成(conda を使用)
- 今から作成するPython の仮想環境の名前と、Pythonのバージョンを決めておく
- Python の仮想環境の名前: ml-agents
- Pythonのバージョン: 3
- Anaconda プロンプト (Anaconda Prompt) を管理者として実行する.
- 前もって Python をインストールしておく.
次のコマンドを実行.
「Proceed ([y]/n) ?」 に対しては Enterキー
conda create -n ml-agents
- Python 環境が作成できたことを確認
conda info -e
これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3,名前は ai)の共存できた。
新規作成された Python 環境を使いたいとき
- Anaconda プロンプト (Anaconda Prompt) はコマンドラインインターフェイス を実行.
- 次のコマンドを実行し,Python 環境(名前は ml-agents)を有効にする.
activate ml-agents
* もとの Python 環境に戻るときは「exit」
Python の仮想環境で、インストールの前準備を行う
いま作成した Python の仮想環境で、パッケージの更新などの前準備を行う
- Anaconda プロンプト (Anaconda Prompt) を管理者として実行する.
- いま作成した Python の仮想環境を有効にする
次のコマンドを実行.
activate ml-agents
- Anaconda3 の conda パッケージの更新、古い conda パッケージファイルの削除
1行ずつ実行
「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作.「CondaKeyError: 'channels' 'conda-forge' ...」というエラーメッセージは無視してよい.
conda config --remove channels conda-forge
conda upgrade -y --all
conda clean -y --packages
- conda の動作確認
エラーメッセージが出ないことを確認
conda info
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 を使用)
- Anaconda プロンプト (Anaconda Prompt) を管理者として実行する.
- いま作成した Python の仮想環境を有効にする
次のコマンドを実行.
activate ml-agents
- 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
- TensorFlow のバージョン確認
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python -c "import tensorflow as tf; print( tf.__version__ )"
- (GPU を使うとき) TensorFlow からGPU が認識できているかの確認
実行結果の中に,実行結果の中に,次のように「device_type: "GPU"」があれば,GPUが認識できている.エラーメッセージが出ていないことを確認しておくこと.
python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
ML-Agents の前提 Python パッケージのインストール(conda を使用)
https://github.com/Unity-Technologies/ml-agents/blob/master/ml-agents/setup.py の記述による
- Anaconda プロンプト (Anaconda Prompt) を管理者として実行する.
- いま作成した Python の仮想環境を有効にする
次のコマンドを実行.
activate ml-agents
- 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 の記述に従う- Git のインストール: 別ページ »で説明
git の URL: https://git-scm.com/
- Anaconda プロンプト (Anaconda Prompt) を管理者として実行する.
- いま作成した Python の仮想環境を有効にする
次のコマンドを実行.
activate ml-agents
- Unity ML-Agents ツールキットをダウンロードする
実行のとき、エラーメッセージが出ないことを確認すること
cd c:\tools rmdir /s /q ml-agents git clone https://github.com/Unity-Technologies/ml-agents.git
- imgaug のインストール
mkdir c:\pytools cd c:\pytools rmdir /s /q imgaug
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
(以下省略) - 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
- エラーメッセージが出ないことの確認
- インストールができたことを確認する
次のコマンドを実行.説明が表示されれば OK.
実行のとき、エラーメッセージが出ないことを確認すること
エラーメッセージが出たときは,上の操作の代わりに, 「python -m pip install mlagents==0.14」を実行して,mlagents をインストールする
mlagents-learn --help
Unity を起動し、Unity ML-Agents の設定を行う
Unity はゲームエンジン.ここでは、Unity を起動し、Unity ML-Agents の設定を行う
関連ページ: https://github.com/Unity-Technologies/ml-agents/blob/main/docs/Getting-Started.md
- Unity を起動する
スタートメニューを使って起動するのが簡単
- サインインする
Unity ID を持っていないときは、「Sign in with google」などでログインするか、「create one」をクリックして Unity ID を作る
すでに、「Sign in with google」でログインしたことがある場合は、次のような画面が表示される
- 初回起動時には、ライセンス管理の画面が開く.
下の画面では、
「Unity Personal」の方を選んでいる
Unity の利用条件、ライセンス条項を確認し、利用すること
- 初回起動時には、「Please select one of the options below」の画面が開くので、1つ選び、「Next」をクリック
- 初回起動時には、「Thank you!」の画面が開くので、1つ選び、「Start Using Unity」をクリック
- Unity の画面が開くので確認する
- UnitySDK のプロジェクトを開きたいので、「Open」をクリック
- 「c:\tools\ml-agents\UnitySDK」を選ぶ.少し待つ
- このとき「Opening Project in Non-Matching Editor Installation」という画面が出る場合がある。
「Continue」をクリック
- 設定を行う
「Edit」 →「Project Settings」 →「Player」 と操作する
- 「Other Settings」をクリック
- Scripting Runtime Version は、「.NET 4.6 Experimental」か「.NET 4.x Equivalent」にする(どちらかが選べるはず)
- Scripting Defines Symbols は、「ENABLE_TENSORFLOW」を設定する
-
「File」
→「Save Project」
と操作して、設定を保存する
- TensorFlowSharp プラグインをダウンロードする
次の URL からダウンロードする
https://s3.amazonaws.com/unity-ml-agents/0.5/TFSharpPlugin.unitypackage
- ダウンロードが始まる
- ダウンロードしたTensorFlowSharp プラグインをインポートする
ダウンロードしたファイルを実行する
次のような画面が開くので「Import」をクリック
少し待つ
- インポートが成功したかの確認
Unity のプロジェクトの画面で、 「Assets」 →「ML-Agents」 →「Plugins」 →「Computer」のディレクトリに、TensorFlow のファイルがあるのを確認する
事前学習済みのモデルを実行してみる
- Unity のプロジェクトウインドウ (Project window) で、
「Assets」
→「ML-Agents」
→「Examples」
→「3DBall」のディレクトリを開く
- ここの「Scene」下にある、3DBall のシーンファイルを、ダブルクリックして開く
- 画面が変わるので確認
- 上にある画面をクリック。
マウスの右ボタンを押しながらマウスを動かすと、回転する
マウスのホイールで、前後移動するする
- 階層の画面(Hierarchy window)で、
Ball3DAcademy ゲームオブジェクト の下にある
Ball3DBrain をクリック
* 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面
- インスペクタの画面(Inspector window)に、プロパティが表示されるので確認する
- Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素は、
Player, Heuristic, External, Internalから選ぶことができる
- Brain 要素を、
Player から Internalに変更する
- Unity のプロジェクトウインドウ (Project window) で、
「Assets」
→「ML-Agents」
→「Examples」
→「3DBall」
→「TFModels」
のディレクトリを開く
- このディレクトリにある「3DBall」という名前のモデルファイルを、
Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素の Graph Modelフィールドにドラッグする
*すでに設定済みの可能性があるが念のため
これで、事前学習済みのモデルが設定できた。
- 実行を開始する。
「Play ボタン」をクリックして、実行を開始する。
事前学習済みのモデルでバランスをとる様子を確認できる
- もう1度「Play ボタン」をクリックして、実行を停止する。
学習を行ってみる
- もし実行中のときは、「Play ボタン」をクリックして、実行を停止しておく.
- 階層の画面(Hierarchy window)で、
Ball3DAcademy ゲームオブジェクト の下にある
Ball3DBrain をクリック
* 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面
- インスペクタの画面(Inspector window)で、
Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素を、
Externalに変更する
- 「External」に設定されていることを確認する
- 「Play ボタン」をクリックして、実行を開始する。
うまくボールを受け止めることができていないことを確認する
- もう1度「Play ボタン」をクリックして、実行を停止する。
-
「File」
→「Save Project」
と操作して、設定を保存する.
* 実行中のときは保存できないので、実行を停止してから保存する
これで、学習を始める準備ができた.Unity の画面は閉じないこと
- Windows でコマンドプロンプトを実行
- Python の仮想環境を有効にする
次のコマンドを実行.
activate ml-agents
- カレントディレクトリを、ML-Agents ツールキットのディレクトリに移動
cd c:\tools\ml-agents
- mlagents-learn コマンドを用いて学習
- 使用する設定ファイル: config/trainer_config.yaml
- 今回の学習に付ける ID : 1
「\」でなく「/」を使う
mlagents-learn config/trainer_config.yaml --run-id=1 --train
セキュリティ警告が出た場合には許可する
- 「training by pressing the Player button in the Unity Editor」と表示されるので、Unity の「Play ボタン」をクリック
- 学習が進む
- 学習が終わる
- 学習済みのデータを 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
- 階層の画面(Hierarchy window)で、
Ball3DAcademy ゲームオブジェクト の下にある
Ball3DBrain をクリック
* 階層の画面(Hierarchy window)は、ゲームオブジェクトの階層構造が表示される画面
- インスペクタの画面(Inspector window)に、プロパティが表示されるので確認する
- Brain 要素を、
Player から Internalに変更する
- Unity のプロジェクトウインドウ (Project window) で、
「Assets」
→「ML-Agents」
→「Examples」
→「3DBall」
→「TFModels」
のディレクトリを開く
- このディレクトリにある「editor_Ball3DAcademy_1-0.bytes」という名前のモデルファイルを、
Ball3DBrain ゲームオブジェクトのプロパティである Brain 要素の
Graph Modelフィールドにドラッグする
-
「File」
→「Save Project」
と操作して、設定を保存する
* 実行中のときは保存できないので、実行を停止してから保存する
- これで、学習済みのモデルが設定できた。
「Play ボタン」をクリックして、実行を開始する。
結果を確認する
- もう1度「Play ボタン」をクリックして、実行を停止する。