0.前提
この記事はUnityを触ったことがあり、強化学習を行ってみたいという人向けになります。(自分用の備忘録でもある)
間違いなどありましたら教えて頂けるとありがたいです。
##1.実行環境
Unity 2019.3.0f6
Anaconda 2019.03 for Windows 64bit Python3.7
ml-agents-release_3
##2.環境構築
####Unityのダウンロード
https://unity3d.com/get-unity/download/archive
上記URLから好きなバージョンのUnityをダウンロードします。
####ML-Agentsのダウンロード
https://github.com/Unity-Technologies/ml-agents/tree/release_3
ここからzipファイルでダウンロード、またはgitでクローンします。
####Anacondaのダウンロード
https://www.anaconda.com/products/individual
Windows 64bit Python3.7をダウンロードします。
Anaconda Prompt
を起動します。
#####環境作成
conda create -n [名前] Python=3.7
環境を作成します。
[名前]
は各自好きな名前をつけて構いません。
#####環境切り替え
conda activate [名前]
先ほど作成した環境に切り替えます。
[名前]
は先ほどつけた名前になります。
先頭の()内が現在の環境の名前になっていて、環境が切り替わっているのがわかると思います。
#####フォルダ切り替え
cd [ダウンロードしたML-Agentsのフォルダまでのパス]
先ほどダウンロード(クローン)したフォルダに移動します。
#####ML-Agents用の環境インストール
pip install mlagents
ML-Agents用の環境をインストールします。
少し時間がかかるので気長に待ちましょう
学習時にもターミナルは使用するので、閉じずに残しておいて下さい。
以上で、環境の準備は完了です。
##3.サンプル実行
ここでは、サンプルを使って実際に強化学習を行います。
今回は「3DBall」を用いて説明していきます。
####学習の開始
mlagents-learn config/ppo/3DBall.yaml --run-id=[名前]
他のサンプルでやるときは3DBall
のところは選んだサンプルの名前に変えてください。
[名前]
に関しては自由です。保存される時のフォルダ名にもなるので、各自わかりやすくしてください。
Unityマークとこのような文が出てきたら**シーンを実行して下さい。
**
規定のステップ数が終わると学習が完了します。
完了すると上のようなログが流れます。
※途中でやめたい時はCTRL+C
で途中で切りあげることもできます。
####モデルを実行
学習が完了したモデルはresults
フォルダの中に実行時に決めた名前フォルダごとに入ります。
フォルダの中に入っているNNファイル
をプロジェクト内にコピーしてください。
持ってきたモデルをBehavior Parameters
の中のModel
に貼ってください。
これで、モデルを切り替えることができました。
では、実際にシーンを実行してみましょう。
学習ができていることがわかると思います。
##4.おわりに
今回は、詳しい説明は省いて、実際に学習を行うまでのやり方を説明しました。
次は、もう少し詳しいところまで記事にする予定です。