4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ML-AgentsをGoogle Colab上で学習させる

Posted at

google colaboratoryを使うと無料で学習させられるので、セッションが途切れないようにするためにブラウザを起動する必要はありますが、自分のローカルPCのリソースを利用したくないときに便利です。

UnityのML-Agents(に限らないですが)の学習をさせる上で、こうすると便利だなと思ったことをまとめてみました。

ML-Agentsのinstall

!git clone https://github.com/Unity-Technologies/ml-agents.git -b 0.8.1
!pip install ./ml-agents/ml-agents/

versionは各自使っているバージョンをあわせてください。

Google Driveをマウントする

せっかく長い時間学習させたのに成果物をダウンロードする前にセッションが切れて初期化、、、なんてことがあると悲しいですよね。

また、実行を停止したときに、学習済みモデルが生成される前に処理が終わってしまうこともあります。

そこで、Google Driveをマウントして逐一ドライブ上で保存する ようにしましょう。

from google.colab import drive
drive.mount('/content/drives') #もしくは好きなパス

これをセル上で実行するだけで、認証画面に飛び、コードを入力するだけでドライブをマウントできます。これで/content/drives/"My Drive" 以下にGoogle Driveの内容がマウントされている状態になるので、

%cd /content/drives/"My Drive"/  

とかでディレクトリを変えて内部で実行すると、学習途中のファイルが保存されます。

頻繁に保存するために、mlagents-learnを実行する際のオプションで--save-freq=10000みたいに頻度を上げておくと不慮の事故を避けられるのでおすすめです。

envとconfig.yamlをgithubで管理する

ML-Agentsで学習させる上でenvをbuildし直したり、configファイルをいじると思うのですが、それらをまとめてgithub上で管理しておき、Colab上で毎回クローンして利用すると便利です。

Tensorboardを利用する

別のノートブックを作成して、学習させているランタイムと同じランタイムを指定して次のコードを実行すると、tensorboardがcolab上で出力されて便利です、と言いたいところなのですが、、、

%load_ext tensorboard.notebook
%tensorboard --logdir /content/drives/"My Drive"/summaries

セッションがクラッシュして、リアルタイムに見ることが私が試した限りでは今の所できませんでした。

こちらの記事によると同じランタイムに複数のノートブックで使えそうなのですが、どうも上手くいきません。

tensorboardが見れないとRewardの平均と標準偏差からしか学習の進行状況がわからないのでだいぶ不便です。

どなたかうまいやり方をご存知でしたらぜひ教えてくださいませ、、、 :bow:

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?