AWS DeepRacer League Championship Finals 2023

Mark Ross
7 min readDec 7, 2023


re:Invent 2023 is over, and with it we’ve concluded the 2023 DeepRacer League. Having got into DeepRacer seriously at the end of 2022 I competed throughout the year, both virtually and at the AWS London Summit. I qualified for the finals in the September 2023 virtual race, securing the European spot that month. This post covers my experience of the finals, I’ll do a subsequent one on some tips and tricks to help you improve your own racing.

DeepRacer Finalists 2023

Round 1 — Virtual — Single fastest lap

As 74 people qualified for the finals the competition format for this year included a virtual first round to whittle down the field on the Monday morning before the physical racing could take place in the Expo hall.

Racers were split regionally for round 1 and had 2 x 3 minute attempts at a time trial on the Expedition Super Loop track in a clockwise direction using the LIVE format. If you’ve not tried the LIVE format it is effectively a live evaluation run of your model, with racers going in turn one by one to race and you have the option to alter the relative speed of your model from 0.5x — 1.5x. It’s the closest thing we have to the physical racing experience without the track etc.

The format provided some excitement as racers took it in turns to race one by one within their regional groups, with the top 5 from each region qualifying. Europe was the most competitive region with 14 people having qualified for the finals (combination of the virtual monthly winners and the volume of AWS summit winners as Europe had a high number of summits). The top 8 in Europe all did times of less than 22.4s, although some faster times were done in North America, Asia Pacific and Japan and the Greater China Region. Sadly for me 8th in Europe meant I was eliminated and wouldn’t join the 30 people who qualified despite doing the 20th fastest time overall. My model had been as fast as 21.9s in practice but it wasn’t consistent enough with its time, it could occasionally do a 21.9s or 22.0s in practice but could just as easily do a 22.7s so my time of 22.399 was somewhere in the middle of the range. Whilst I have techniques that can narrow the range of lap times it does trend to the middle of the range by trimming the quickest and slowest times, still some work to do to narrow the range down to the quickest laps for the future! Kudos to all those who qualified, especially my colleague Marco Petralia who came 5th in Europe by 0.002s! A lot of good physical racers got eliminated in the virtual round 1, which made the last chance wildcard race very competitive!

Round 1 standings — Top 8 per region

Last Chance Wildcard — Physical — Single fastest lap

Anyone attending re:Invent 2023 could participate in the wildcard race at the track on the Expo floor when it opened between 16:00–19:00 on the Monday. Many of the 44 people that had been eliminated from round 1 went to the Expo to try their luck, joining other attendees who hadn’t qualified for the finals who wanted to try their luck too. Everyone queuing was allowed a single go of 2 minutes, very little room for error! I was first in the queue and set a decent standard with a lap time of 15.257s.

My 2023 re:Invent wildcard submission

I was top of the wildcard race for about an hour but was ultimately beaten by 5 other racers, the top 2 making their way to round 2 with the 30 qualifiers from the morning. Lizhi and Jerec set fast times, especially given the pressure of having only two minutes to ‘go big or go home’. Overall I was happy with my time, which was a 5 second improvement on my wildcard race efforts in 2022 and a lot better than my models at the 2023 London summit so I’m moving in the right direction. I was also really pleased with how stable the model was, it’d go around the track every lap at a stable speed and only started going off-track when I ramped the speed up chasing a faster time. Sadly I realised later in the week that I could have gone somewhat quicker!

Top 8 in the wildcard race — Top 2 qualified for round 2

Round 2 — Round of 32 — Physical — Average time of 3 consecutive laps

The round of 32 brought a new racing format, racer’s times were based on an average of 3 consecutive laps. This rewarded model consistency, and also ensured cars weren’t flying off track all the time as racers couldn’t chase a single flying lap. I hear this greatly pleased the pit crew as less cars were damaged and needed recalibration, and most racers seemed to agree it was a better test of the models than the single lap format. Rosscomp1 kept up his season long performance topping the round 2 leader board with a very consistent model, and round 2 seeing the top 8 racers through!

Round 2 final leader board — Top 8

Round 3— Final 8 — Physical — Single fastest laps

Round 3 was back to the single lap format, however this time in head to head racing based on seeding. To ensure fairness each racer had up to 2 attempts, both using the same two cars. The racers who won progressed via the ‘Undefeated bracket’, whilst those that lost went into the ‘Last chance bracket’ until we got down to the final three racers. Managing to follow along? If not you’re not alone, it reminded me of this scene from Baseketball!

Following some exciting racing we ended up with JPMC-HYD-SmartAccelerators, Dbro and a newcomer (there’s hope for us all!) FiatLux in the finals. After his leader board topping performance all year to many people’s surprise Rosscomp1 was eliminate in the final ‘Last Chance Bracket’ race. Just as surprising was that FiatLux wasn’t actually in Las Vegas, he’d appointed a colleague, Doug (racing name Off-track, forever now to be know as ‘The Proxy’ and also a fellow appreciator of the film Baseketball) to race on his behalf.

Round 3 — final 8 head to heads

Final 3 Shootout — 1 lap shootout

It all came down to the final 3, in what can only be described as a crazy pressure cooker 1 lap finale. I literally mean 1 lap…. racers were placed at the top of the start/finish straight to build up a bit of speed and had a single lap to decide the finishing order, no pressure with $20k, $10k and $5k on the line for the finishing order!

FiatLux as the last chance qualifier went first, and despite the pressure with the help of ‘The Proxy’ set an amazing time of 13.393s. I understand FiatLux (in the early hours of the morning from Europe) was in contact with ‘The Proxy’ to agree strategy, it seems they went for broke! JPMC-HYD-SmartAccelerators and Dbro went afterwards and I think it’s fair to say they also went for broke, both going off track chasing FiatLux’s time.

With that we had our 2023 champion, and what I understand to be a first winner by proxy. The winners, community leaders and AWS DeepRacer crew headed off into the night for a celebration and live band karaoke (no videos being shared from there!).

Open Racing — Single fastest laps

On the Thursday the top racers from the competition were treated to an ‘exotic car experience’ where they got to drive some very fast sports cars. Frustrated non winners headed back to he track for ‘open racing’, with the prize for the winner being a ticket straight into the 2024 finals.

Racers were allowed up to 10 attempts, which gave people eliminated from the virtual round an opportunity to try some different models. Things got very interesting for a couple of us at this point, as I set a time 2 seconds faster than the wildcard race (13.258s) with my second choice model (oh why didn’t I use this one in the wildcard race!) and PolishThunder, who was also eliminated from the wildcard race with what I understand to be the same model, then immediately beat me with an even faster time of 13.090.

My 2023 open race submission — 13.258s

Onwards to 2024

So FiatLux and PolishThunder punched their tickets for the 2024 finals. The rest of us now spend the offseason musing over great ideas for new models, and have a bit of fun with the Winter Race which is open until 29th Feb 2024. Some probably also need some downtime, as many evenings and weekends can be lost to DeepRacer!

I’ve really enjoyed my year of racing. Not only have I made some great new friends from all over the world, but I’ve learnt a lot too. I’ve learnt about Jupyter notebooks, reinforcement learning, CloudFormation (I mostly use Terraform my the day job)and log analysis through my own exploits and making contributions to the open source repositories the DeepRacer community maintains — I even created a Partyrock app and tested out using GenAI to learn how my models were performing. It’s inspired me to look at a program of learning at work to help others have fun and further develop their skills.

If you want to get involved in the learning and have fun with the community why not join us on Slack —

Thanks to all the hard work of the AWS DeepRacer team, community members and the competition administrators PromoVeritas for making the season happen!

Next time I’ll share a bit more on how I improved over the season… but probably not everything I learnt!