アオイの備忘録ブログ

色んな事を書く備忘録用ブログです(※更新頻度は神のみぞ知る)

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を使用 

unity3d.com

 

2. Anacondaインストール

AnacondaはPythonディストリビューションでライブラリ等の開発環境を

簡単に構築できて仮想環境を作れば各環境ごとにバージョン管理も出来る。

公式がPython 3.6を使ってるのでここから古いバージョンをDL( 64-bit )

 

[1]. 画面に沿って進んでいく

f:id:Bianco:20200423120201p:plain

f:id:Bianco:20200423120222p:plain

f:id:Bianco:20200423120235p:plain

ここでは権限を自分だけか他のユーザーにも与えるか聞いてる。

デフォルトはJust Meなのでそのまま進める。

f:id:Bianco:20200423120558p:plain

ここも特にこだわり無いのでデフォルトで

f:id:Bianco:20200423120635p:plain

で、ここ大事。下はデフォルトでチェック付いてるのでそのまま。
上はAnacondaのPathを環境変数に追加するか聞いてるけど公式も多くの他サイトも
チェック付けずに進めているので付けずに進めてインストール後に自分で追加する。

f:id:Bianco:20200423120830p:plain

VS Codeを一緒にインストールするか聞いてる。
個人的にはVS CodeVS Codeでインストールした方が分かりやすいのでここでは
インストールせずに個別でインストールした方が良い、基本各自の自由。

 

インストール完了したら閉じる。

 

[2]. AnacondaNavigatorを開く

Anacondaのインストールが完了すると一緒にAnacondaNavigator
インストールされてるのでそれを開く。
開く際に自動セットアップが行われるので開いたら閉じて良い。

※左側メニューのEnvironmentを選択すると今の仮想環境リストが見れる

f:id:Bianco:20200424172355p:plain

 

[3]. Anacondaのパスをユーザー環境変数に設定

f:id:Bianco:20200423122117p:plain

環境変数「システム」変数のダブルクリックして「Path」 変数を編集し以下のパスを追加する。

%UserProfile%\Anaconda3\Scripts
%UserProfile%\Anaconda3\Scripts\conda.exe
%UserProfile%\Anaconda3
%UserProfile%\Anaconda3\python.exe

追加が終わったら閉じて完了。

 

[4]. Anacondaのパスが追加されているか確認

Anacondaにはcondaと言うパッケージマネージャーがあってパッケージのインストールや、実行環境の作成・切り替えなどが出来る。
コマンドプロンプトで[conda info -e]と打つと現在の仮想環境一覧が
出てくればOK ↓ 。

f:id:Bianco:20200424131553p:plain

(自分の仮想環境、一つも作って無い時は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

入力すると以下みたいにパスに前に(環境名)が入る。

f:id:Bianco:20200424203659p:plain

ちなみにアクティブ環境を非アクティブにする時は

deactivate

 

■ 必要なPythonパッケージをインストールする

AnacondaPromptを開いて毎回activateコマンドを打っても良いけどAnacondaNavigatorを開くと仮想環境一覧が出るので
そこの[ ▶ ]を押して[Open Terminal]を開くとその仮想環境が既にアクティブに
なった状態でTerminalが開くので便利。

f:id:Bianco:20200424204503p:plain

こんな感じ。

 

■ TensorFlow2.0.1のインストール

TensorFlowの最新バージョン(2.1)は対応してないので最新以外のバージョンを
インストール

pip install tensorflow==2.0.1

※ちなみに、TensorFlowとは

udemy.benesse.co.jp


■ ML-Agents Toolkit Githubリポジトリのclone

ML-Agents Toolkit GitHubリポジトリをローカルにclone、またはZipをDLして

好きな場所に置く。

github.com

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


次はサンプル実行だけど長くなり過ぎたので詳細は ↓ で

bianco.hatenablog.com

 

■ 参考資料(とてもお世話になりました)

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