The AWS DeepRacer console allows us to train and evaluate models for self-driving race cars. Sign-up with Amazon Web Services to get the first ten hours of modeling for free. Our racecar models can compete in the first ever simulated self-driving environment. We can go one step further and even purchase 1/18 sized race car to try at home.
AWS DeepRacer is a fun way to learn important machine-learning concepts like reinforcement learning, hyperparameters and evaluating the graphs that our models produce.
Step 1. Sign up to AWS
Sign-up to AWS to get the first ten hours of modeling for free. While there is a number of free services with AWS, we still need to sign-up with our credit card. So we still need to be careful incase we overspend our budget!
In order to sign-up to DeepRacer, we have to register in US-East region.
Step 2. Model a vehicle in our garage
In the console we can visit the garage to get our ready made cars.
We can create a new model. We can choose either a normal camera or a stereo camera to avoid obstacles, plus we can add a sensor. If we are just entering in the time trials, then we can just choose the normal camera for the start.
We can change settings for the steering action and choose between discrete or continuous actions. For now, we can pick the default settings.
Step 3. Create our new model
From the console, we can select a model or create a new one.
We can give our model any name we like. We can select what track to model it on. (I select whatever the monthly competition is using.)
For beginners, select time trial and PPO for the hyperparameters. Then select the model vehicle we would like to use.
Step 4. Create reward function
The most important feature of our model is the reward function. This is the part of the project that requires a knowledge of Python and reinforcement learning. For now we can just leave it as it is. But to become pros, we need to think of creative ways to reward our racecar for driving well.
Step 5. Train our model
We train our model on a selected race track. It is best to choose a simple one with only a few turns. We can only train one model at a time and it can take six minutes to complete.
Step 6. Evaluate the model
Evaluate the model on a chosen race track. We can choose a time limit for evaluation, since those evaluations eat up our ten hour time credit and cost us money. 120 minutes is a good amount of time for an evaluation. 60mins would be cautious to save us resources.
Step 5. Compete in the virtual league!
When our model is ready to race, we can enter in the open league. Our model will run a simulation against thousands of other models every month to see who is the best. Later we can compete in the pros with a real 1/18 DeepRacer.
Bonus step! Buy your own self-driving racecar!
For fun, we can have our own self-driving race car. They are 1/18th the size of a normal self-driving car. They are fixed with the right camera and sensors on a race track. We can also adjust and modulate the racercar to our liking.