The Complete Self-Driving Car Course - Applied Deep Learning

Video description

Self-driving cars have emerged to be one of the most transformative technologies. Fueled by deep learning algorithms, they are rapidly developing and creating new opportunities in the mobility sector. Deep learning jobs command some of the highest salaries in the development world. This is the first and one of the only courses that make practical use of deep learning and applies it to building a self-driving car. You’ll learn and master deep learning in this fun and exciting course with top instructor Rayan Slim. Having trained thousands of students, Rayan is a highly rated and experienced instructor who follows a learning-by-doing approach. By the end of the course, you will have built a fully functional self-driving car powered entirely by deep learning. This powerful simulation will impress even the most senior developers and ensure you have hands-on skills in neural networks that you can bring to any project or company.

This course will show you how to do the following:

- Use Computer Vision techniques via OpenCV to identify lane lines for a self-driving car

- Train a perceptron-based neural network to classify between binary classes

- Train convolutional neural networks to identify various traffic signs

- Train deep neural networks to fit complex datasets

- Master Keras, a power neural network library written in Python

- Build and train a fully functional self-driving car

What You Will Learn

  • Apply Computer Vision and deep learning techniques to build automotive-related algorithms
  • Understand, build, and train convolutional neural networks with Keras
  • Simulate a fully functional self-driving car with convolutional neural networks and Computer Vision
  • Train a deep learning model that can identify up to 43 different traffic signs
  • Use essential Computer Vision techniques to identify lane lines on a road
  • Build and train powerful neural networks with Keras
  • Understand neural networks at the most fundamental, perceptron-based level


This course is for anyone with an interest in deep learning and Computer Vision. Anyone (no matter the skill level) who wants to transition into the field of artificial intelligence, including entrepreneurs with an interest in working on some of the most cutting-edge technologies, will find this course useful.

About The Author

Rayan Slim, Jad Slim: Rayan Slim is a full-stack Software Developer based in Ottawa, Canada. He guides developers towards building Spring Boot applications that implement Enterprise Integration Patterns using the Apache Camel framework. His teaches developers how to deploy their applications on the Red Hat Openshift platform using the Kubernetes package manager Helm. He is experienced in setting up infrastructure monitoring tools to extract health metrics from cloud-native applications. Rayan loves to explore new technologies and is deeply passionate about Artificial Intelligence and Data Visualization.

Jad Slim studied mechanical engineering at the University of Ottawa. He has an extensive experience in software development, cloud development, machine learning, computer vision, mathematical modeling, computer simulation, and intelligent systems. Jad has also developed many deep learning applications, and is currently pursuing an interest in autonomous machines and Full Stack Development. Rayan Slim and Jad Slim own a joint business in Canada.

Amer Abdulkader: Amer is a full-time developer with a specialized interest in Artificial intelligence (AI). AI is now taking on more sophisticated roles that can truly amplify human capabilities. With a background in Mechanical Engineering and computer science, he has always looked for ways to use the power of AI to create practical solutions that revolutionize the way we live. He aims to make artificial intelligence more accessible to all students, no matter the skill level!

Sarmad Tanveer: Sarmad has a deep passion for data science. He is a Mechanical Engineering graduate turned Data Scientist and had gained experience in the field while working on his very own startups. His main work focuses on creating predictive models using a combination of complex deep learning algorithms and sentiment analysis. He also has prior experience with deep learning fueled autonomous machines. In his spare time, he enjoys teaching courses and sharing his knowledge with all of you!

Table of contents

  1. Chapter 1 : Introduction
    1. Why This Course?
  2. Chapter 2 : Installation
    1. Overview
    2. Anaconda Distribution – Mac
    3. Anaconda Distribution – Windows
    4. Text Editor
    5. Outro
  3. Chapter 3 : Python Crash Course
    1. Python Crash Course Part 1 - Data Types
    2. Jupyter Notebooks
    3. Arithmetic Operations
    4. Variables
    5. Numeric Data Types
    6. String Data Types
    7. Booleans
    8. Methods
    9. Lists
    10. Slicing
    11. Membership Operators
    12. Mutability
    13. Mutability II
    14. Common Functions Methods
    15. Tuples
    16. Sets
    17. Dictionaries
    18. Compound Data Structures
    19. Part 1 – Outro
    20. Part 2 - Control Flow
    21. If, else
    22. elif
    23. Complex Comparisons
    24. For Loops
    25. For Loops II
    26. While Loops
    27. Break
    28. Part 2 – Outro
    29. Part 3 – Functions
    30. Functions
    31. Scope
    32. Doc Strings
    33. Lambda Higher Order Functions
    34. Part 3 – Outro
  4. Chapter 4 : NumPy Crash Course
    1. Overview
    2. Vector Addition - Arrays vs Lists
    3. Multidimensional Arrays
    4. One Dimensional Slicing
    5. Reshaping
    6. Multidimensional Slicing
    7. Manipulating Array Shapes
    8. Matrix Multiplication
    9. Stacking
    10. Part 4 – Outro
  5. Chapter 5 : Computer Vision: Finding Lane Lines
    1. Overview
    2. Loading Image
    3. Grayscale Conversion
    4. Smoothening Image
    5. Simple Edge Detection
    6. Region of Interest
    7. Binary Numbers Bitwise_and
    8. Line Detection - Hough Transform
    9. Hough Transform II
    10. Optimizing
    11. Finding Lanes on Video
    12. Part 5 – Conclusion
  6. Chapter 6 : The Perceptron
    1. Overview
    2. Machine Learning
    3. Supervised Learning - Friendly Example
    4. Classification
    5. Linear Model
    6. Perceptrons
    7. Weights
    8. Project - Initial Stages
    9. Error Function
    10. Sigmoid
    11. Sigmoid Implementation (Code)
    12. Cross Entropy
    13. Cross Entropy (Code)
    14. Gradient Descent
    15. Gradient Descent (Code)
    16. Recap
    17. Part 6 – Conclusion
  7. Chapter 7 : Keras
    1. Overview
    2. Intro to Keras
    3. Keras Models
    4. Keras – Predictions
    5. Part 7 – Outro
  8. Chapter 8 : Deep Neural Networks
    1. Overview
    2. Non-Linear Boundaries
    3. Architecture
    4. Feedforward Process
    5. Error Function
    6. Backpropagation
    7. Code Implementation
    8. Conclusion
  9. Chapter 9 : Multiclass Classification
    1. Overview
    2. Softmax
    3. Cross Entropy
    4. Implementation
    5. Outro
  10. Chapter 10 : MNIST Image Recognition
    1. Overview
    2. MNIST Dataset
    3. Train Test
    4. Hyperparameters
    5. Implementation Part 1
    6. Implementation Part 2
    7. Implementation Part 3
    8. Section 10 – Outro
  11. Chapter 11 : Convolutional Neural Networks
    1. Overview
    2. Convolutions MNIST
    3. Convolutional Layer
    4. Convolutions II
    5. Pooling
    6. Fully Connected Layer
    7. Code Implementation I
    8. Code Implementation II
    9. Section 11 – Conclusion
  12. Chapter 12 : Classifying Road Symbols
    1. Overview
    2. Preprocessing Images
    3. leNet Implementation
    4. Fine-tuning Model
    5. Testing
    6. Fit Generator
    7. Section 12 – Outro
  13. Chapter 13 : Polynomial Regression
    1. Overview
    2. Implementation
    3. Section 13 – Conclusion
  14. Chapter 14 : Behavioural Cloning
    1. Overview
    2. Collecting Data
    3. Downloading Data
    4. Balancing Data
    5. Training Validation Split
    6. Preprocessing Images
    7. Defining Nvidia Model
    8. Flask
    9. Self Driving Car - Test 1
    10. Generator - Augmentation Techniques
    11. Batch Generator
    12. Fit Generator
    13. Outro

Product information

  • Title: The Complete Self-Driving Car Course - Applied Deep Learning
  • Author(s): Jad Slim Rayan Slim, Amer Abdulkader, Sarmad Tanveer
  • Release date: April 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838829414