LoginSignup
10
3

More than 3 years have passed since last update.

AWS DeepRacerで最初のモデルをトレーニングして仮想リーグに参加するまで

Last updated at Posted at 2019-05-01

はじめに

2019/4/29 に DeepRacer コンソールがリリースされ、仮想トラックでのタイムを競う
DeepRacer Virtual League に参加できるようになりました。

Developers, start your engines! The AWS DeepRacer Virtual League kicks off today.
https://aws.amazon.com/jp/about-aws/whats-new/2019/04/AWSDeepRacerVirtualLeague/

最初のモデルを作成し、仮想リーグでサーキットを走行するまでをやってみたいと思います。
DeepRacerで使用される各サービスに対しては利用料金が発生します。
詳細は以下から確認できます。

AWS DeepRacer の料金
https://aws.amazon.com/jp/deepracer/pricing/

モデルの作成

以下のURLから DeepRacer コンソール にアクセスします。
2019/5/1 時点ではバージニア北部リージョンでのみ利用可能です。

コンソールメニューの Reinforcement learning から Ceate Model を選択します。
image.png

Account resources からモデルの作成に必要な各種AWSリソースを作成します。
料金ページには記載されていませんが、作成されるVPCにはNATゲートウェイも
含まれるため、NATゲートウェイ標準の利用料金が発生します。
image.png
全てのリソースにチェックマークがつけば準備完了です。
image.png
Model detailsで、作成するモデル名やその説明(オプション)を記載します。
image.png
Environment simulation でモデルをトレーニングするための
仮想環境として利用するトラックを選択します。
ここでは2019/5/1現在で仮想レースが開催されている London Loop を選択してみます。
image.png
Action spaceでは速度およびステアリング角度の範囲と粒度をトラックに合わせて
設定しますが、ここではすべてデフォルトとします。

Reward function については Follow the center line (Default) のままとしますが、
Stay inside the two borders、Prevent zig-zag、合計3つの例が用意されており
任意のものを選択したり、独自にカスタマイズしたりすることが可能です。

Hyperparameters についてもデフォルトのままとします。
実際にはこれらの設定値によりモデルをカスタマイズします。

※Action spaceは新規モデル作成時のみ指定可能です。
トレーニング済みモデルをcloneして新たにトレーニングを実行することができますが、
その場合、Action space は変更できません。

最後にトレーニング実行時間の最大値(ここでは60分)を選択したら、Start training を
クリックし、トレーニングを開始します。
image.png

裏側では SageMaker でトレーニングインスタンス(ml.c4.2xlarge)によりジョブが実行され、
また RoboMaker のシミュレーションジョブにより選択した環境でのシミュレーションが行われます。

トレーニングの初期化には6分程度かかります。
image.png
トレーニング中、Reward graph と Simulation の video stream を確認することができます。
image.png

SageMaker のトレーニングジョブ、RoboMaker のシミュレーションジョブは
それぞれのコンソールでも結果を確認することができます。
CloudWatch Logsにもジョブのログが保存されているので確認することが可能です。

モデルの評価

60分後、トレーニングが完了したら Start evaluation をクリックし、
作成したモデルの評価を行います。
image.png
Select environment to start evaluation でトレーニング時に指定した
トラック(London Loop) を選択し、Number of Trials(試行回数)はデフォルト値(3 trials)
のまま Start evaluation をクリックします。
image.png
Evaluationの初期化は3分ほどかかります。
ここではトレーニング時と同様に RoboMaker のシミュレーションジョブが動作しており、
Evaluation の画面から Video Stream を確認できます。
image.png
評価が完了したら Evaluation results でタイムを確認することができます。
全てデフォルト値のままトレーニングしたところ。1分32秒~35秒ほどかかっています。
Trial results (% track completed) が100%なので、トラックの完走はできているようです。
image.png

Virtual Leagueへの参加

作成したモデルの画面から Submit to virtual race を選択します。
image.png
最初にレーサー名を入力します。後から変更することはできないので注意してください。
image.png
Model submission details では仮想レースに送信するモデルを確認、変更することができます。
最後にTerms and Conditionsに同意し、チェックを入れたらSubmit modelをクリックします。
image.png
モデルがアップロードされたら評価の完了を待ちます。
30分間はモデルの再送信ができないようです。
image.png
2週連続で完走できると記録が認定され、ランク付けされます。
image.png
London Loopでの仮想レースは5月いっぱい開催されます!
5/1時点でのTopは12秒台です。。速い。。。
今回はすべてデフォルト値で試しましたが、自分なりにモデルのチューニングを
行って上位を目指したいと思います。

学習コンテンツ

AWS トレーニングと認定サイトのトレーニングライブラリから以下の E-Learning を
無料で受講することができるので、こちらを利用して理解を深めるのがよさそうです。

AWS DeepRacer: Driven by Reinforcement Learning
https://www.aws.training/learningobject/wbc?id=32143
※Amazon.com アカウントまたは APN パートナーセントラルアカウントが必要です。

参考資料

DeepRacer Developer Guide
https://docs.aws.amazon.com/deepracer/latest/developerguide/what-is-deepracer.html

以上です。
参考になれば幸いです。

10
3
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
10
3