Rev.8 WindowsでのAnaconda&Unity&ML-Agents環境の構築方法
恐ろしく苦労した、全てが嫌になるほど苦労した。
何度も挫折してイライラが溜まりに溜まって暗黒面に堕ちてしまうかと思った。
こんな苦しみは死ぬまで二度と味わいたく無いのでメモ。
細かく説明したいので長め。
■ 使用環境
・Winsows 64bit
・Unity2019.3.9f1
・Anaconda3-5.1.0-Windows-x86_64
・ML-Agents 0.15.1
・TensorFlow2.0.1
■ 手順
1. Unityインストール
ML-Agentsを使うにはUnityが必要で取り敢えず最新を落としておけば問題無し。
自分はUnity Hubを使用
2. Anacondaインストール
AnacondaはPythonのディストリビューションでライブラリ等の開発環境を
簡単に構築できて仮想環境を作れば各環境ごとにバージョン管理も出来る。
公式がPython 3.6を使ってるのでここから古いバージョンをDL( 64-bit )
[1]. 画面に沿って進んでいく
ここでは権限を自分だけか他のユーザーにも与えるか聞いてる。
デフォルトはJust Meなのでそのまま進める。
ここも特にこだわり無いのでデフォルトで
で、ここ大事。下はデフォルトでチェック付いてるのでそのまま。
上はAnacondaのPathを環境変数に追加するか聞いてるけど公式も多くの他サイトも
チェック付けずに進めているので付けずに進めてインストール後に自分で追加する。
VS Codeを一緒にインストールするか聞いてる。
個人的にはVS CodeはVS Codeでインストールした方が分かりやすいのでここでは
インストールせずに個別でインストールした方が良い、基本各自の自由。
インストール完了したら閉じる。
[2]. AnacondaNavigatorを開く
Anacondaのインストールが完了すると一緒にAnacondaNavigatorが
インストールされてるのでそれを開く。
開く際に自動セットアップが行われるので開いたら閉じて良い。
※左側メニューのEnvironmentを選択すると今の仮想環境リストが見れる
[3]. Anacondaのパスをユーザー環境変数に設定
環境変数の「システム」変数のダブルクリックして「Path」 変数を編集し以下のパスを追加する。
%UserProfile%\Anaconda3\Scripts %UserProfile%\Anaconda3\Scripts\conda.exe %UserProfile%\Anaconda3 %UserProfile%\Anaconda3\python.exe
追加が終わったら閉じて完了。
[4]. Anacondaのパスが追加されているか確認
Anacondaにはcondaと言うパッケージマネージャーがあってパッケージのインストールや、実行環境の作成・切り替えなどが出来る。
コマンドプロンプトで[conda info -e]と打つと現在の仮想環境一覧が
出てくればOK ↓ 。
(自分の仮想環境、一つも作って無い時はbaseのみ表示されるはず)
でAnaconda関係セットアップは完了。
[5]. Anacondaのcondaで仮想環境作成
AnacondaPromptを開いて(※Windowsの検索バーで検索すればすぐ出てくる)
conda create -n <作る仮想環境名> python=<バージョン>
を打つ、自分は ↓ で作成した
※「Unity ML-Agents」では「Python 3.6.1」以降が必要
conda create -n ml-agents_0.15.1 python=3.6.4
打つと以下のログが出る
(base) C:\Users\XXXX>conda create -n ml-agents_0.15.1 python=3.6.4
Solving environment: done
==> WARNING: A newer version of conda exists. <==
current version: 4.4.10
latest version: 4.8.3
Please update conda by running
$ conda update -n base conda
## Package Plan ##
environment location: C:\Users\XXXX\Anaconda3\envs\ml-agents_0.15.1
added / updated specs:
- python=3.6.4
The following packages will be downloaded:
package | build
---------------------------|-----------------
python-3.6.4 | h0c2934d_3 21.4 MB
The following NEW packages will be INSTALLED:
certifi: 2020.4.5.1-py36_0
pip: 20.0.2-py36_1
python: 3.6.4-h0c2934d_3
setuptools: 46.1.3-py36_0
vc: 14.1-h0510ff6_4
vs2015_runtime: 14.16.27012-hf0eaf9b_1
wheel: 0.34.2-py36_0
wincertstore: 0.2-py36h7fe50ca_0
Proceed ([y]/n)? y
y を入力してEnter キーを押すと作成が始まる
Downloading and Extracting Packages
python 3.6.4: ######################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate ml-agents0.15.1
#
# To deactivate an active environment, use
#
# $ conda deactivate
これで環境作成完了
仮想環境作成時にcondaのアップデート宜しくと言われた時は
アップデートしておく
conda update -n base conda
3. Python仮想環境の作成、パッケージのインストール
■ [2]-[5]で作成した仮想環境をアクティブにする
AnacondaPromptを開いて以下を入力
activate ml-agents_0.15.1
入力すると以下みたいにパスに前に(環境名)が入る。
ちなみにアクティブ環境を非アクティブにする時は
deactivate
■ 必要なPythonパッケージをインストールする
AnacondaPromptを開いて毎回activateコマンドを打っても良いけどAnacondaNavigatorを開くと仮想環境一覧が出るので
そこの[ ▶ ]を押して[Open Terminal]を開くとその仮想環境が既にアクティブに
なった状態でTerminalが開くので便利。
こんな感じ。
■ TensorFlow2.0.1のインストール
TensorFlowの最新バージョン(2.1)は対応してないので最新以外のバージョンを
インストール
pip install tensorflow==2.0.1
※ちなみに、TensorFlowとは
■ ML-Agents Toolkit Githubリポジトリのclone
ML-Agents Toolkit GitHubリポジトリをローカルにclone、またはZipをDLして
好きな場所に置く。
cloneは以下のコマンドを入力
git clone --branch latest_release https://github.com/Unity-Technologies/ml-agents.git
※ --branch latest_release オプションは、最新の安定版リリースのタグに切り替わります。これを省略すると、master 不安定になる可能性のあるブランチが取得される。
ml-agentsフォルダの主な中身
・com.unity.ml-agents : 強化学習の環境を作成するためのUnityプラグイン
・Projectフォルダ : サンプルプロジェクト
・notebooksフォルダ : サンプルノートブック
・ml-agentsフォルダ : 強化学習の学習を行うPythonパッケージ
・ml-agents-envsフォルダ : Unity環境とml-agentsパッケージ間のインタフェースとなるPythonパッケージ
・configフォルダ: 学習のパラメータを定義したファイル(trainer_config.yamlが入っている)
・gym-unityフォルダ: OpenAI Gymと連携するためのパッケージ
・docsフォルダ: ドキュメント
■ mlagentsパッケージのインストール
pip install mlagents
■ Pythonパッケージ「ml-agents」「ml-agents-env」のインストール
cloneしたml-agentsフォルダへ移動して以下を順に実行すればOK
※自分の場合
cd ml-agents-envs
pip install -e ./
cd ../
cd ml-agents
pip install -e ./
cd ../
-e フラグを付けてpipを実行すると、Pythonファイルに直接変更を加え実行時にそれらを反映させることができます
公式にも強く書かれてるので必ず[ml-agents-envs]→[ml-agents]の順に
インストールする様に。
これでML-Agents Toolkitを実行するために必要なツールのインストール、仮想環境の作成、Pythonパッケージのインストールが環境構築は完了。
■ 終わり
ML-Agentsがバージョンごとに仕様変更あり過ぎたのが今回構築に迷いに迷った
原因で結構恨んでる。
ML-Agentsツールキットを使用したGPUトレーニング設定は今回はスルー
行い人は公式を参考に
ml-agents/Installation-Anaconda-Windows.md at master · Unity-Technologies/ml-agents · GitHub
次はサンプル実行だけど長くなり過ぎたので詳細は ↓ で
■ 参考資料(とてもお世話になりました)
ml-agents/Installation-Anaconda-Windows.md at master · Unity-Technologies/ml-agents · GitHub
Unity ML-Agentsで研究したから(ほぼ)自分用 - Qiita
Unity ML-Agents 0.15.0 のチュートリアル (1)|npaka|note