Building self-driving cars in Python from Scratch
Learn how to train Neural Networks with Genetic Algorithms to create autonomous cars without AI frameworks and libraries
Description
Artificial Intelligence. The final frontier. For most of us still a book with seven seals. Where should developers start to write their first AI programs? In this course you learn to build Neural Networks and Genetic Algorithms from the ground up. Without frameworks that hide all the interesting stuff in a black box, you are going to build a program that trains self-driving cars. You will learn and assemble all the required building blocks and will be amazed that in no time cars are learning to drive autonomously. There is only one way to learn AI and that is to just pick a project and start building. That is what this course is about!
Target audience
Developers who especially benefit from this course, are:
developers who want to use their basic Python skills to program self-driving cars.
developers who want to understand Neural Networks and Genetic Algorithms by building them from the ground up.
Challenges
Artificial Intelligence is a black box to many developers. The problem is that many AI frameworks hide the details you need to understand how all the individual components work. The solution is to build things from the ground up and learn to create and combine genetic operators and what properties you can change to optimize the result. This course starts with an empty script and shows you every step that is needed to create autonomous cars that learn how to drive on tracks. Once you have seen the building blocks of a Genetic Algorithm, you can use them in your future projects!
What can you do after this course?
define what problems can be solved with Genetic Algorithms
build Neural Networks and Genetic Algorithms from the ground up
take any problem that can be solved with genetic algorithms and solve it by re-using the code you created in this course
Topics
AI Introduction: Neural Networks and the Genetic Algorithm
Car mechanics: Creating a window, drawing backgrounds and cars, controlling the car. Understanding track information
Neural Network: Inputs, outputs, sensors, activation, feed forward
Genetic Algorithm: Fitness, Chromosomes, Selection, Cross over and Mutation
Challenges: Slipping cars, Store the car brain, Stay in the middle of the road and Test Drives
Duration
2 hours video time, 6 hours including typing along.
The teacher
This course is taught by Loek van den Ouweland, a senior software engineer with 25 years of professional experience. Loek is the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and loves to teach software engineering.
What You Will Learn!
- Create a Neural Network that translates car sensors to car controls
- Train a Neural Network with a Genetic Algorithm
- Combine Genetic Operators like Select, Cross over and Mutation
- Create a window and draw backgrounds and cars with Pyglet
- Build a car simulation to evolve car brains
- Choose and build a suitable fitness function
Who Should Attend!
- developers who want to use their basic Python skills to program self-driving cars
- developers who want to understand Neural Networks and Genetic Algorithms by building them from the ground up