Deep Learning: Convolutional Neural Networks in Python

Computer Vision and Data Science and Machine Learning combined! In Theano and TensorFlow

Register for this Course

$29.99 $199.99 USD 85% OFF!

Login or signup to register for this course

Have a coupon? Click here.

Course Data

Lectures: 114
Length: 18h 17m
Skill Level: All Levels
Languages: English
Includes: Lifetime access, certificate of completion (shareable on LinkedIn, Facebook, and Twitter), Q&A forum

Course Description

This is the 3rd part in my Data Science and Machine Learning series on Deep Learning in Python. At this point, you already know a lot about neural networks and deep learning, including not just the basics like backpropagation, but how to improve it using modern techniques like momentum and adaptive learning rates. You've already written deep neural networks in Theano and TensorFlow, and you know how to run code using the GPU.

This course is all about how to use deep learning for computer vision using convolutional neural networks. These are the state of the art when it comes to image classification and they beat vanilla deep networks at tasks like MNIST.

In this course we are going to up the ante and look at the StreetView House Number (SVHN) dataset - which uses larger color images at various angles - so things are going to get tougher both computationally and in terms of the difficulty of the classification task. But we will show that convolutional neural networks, or CNNs, are capable of handling the challenge!

Because convolution is such a central part of this type of neural network, we are going to go in-depth on this topic. It has more applications than you might imagine, such as modeling artificial organs like the pancreas and the heart. I'm going to show you how to build convolutional filters that can be applied to audio, like the echo effect, and I'm going to show you how to build filters for image effects, like the Gaussian blur and edge detection.

We will also do some biology and talk about how convolutional neural networks have been inspired by the animal visual cortex.

After describing the architecture of a convolutional neural network, we will jump straight into code, and I will show you how to extend the deep neural networks we built last time (in part 2) with just a few new functions to turn them into CNNs. We will then test their performance and show how convolutional neural networks written in both Theano and TensorFlow can outperform the accuracy of a plain neural network on the StreetView House Number dataset.

All the materials for this course are FREE. You can download and install Python, Numpy, Scipy, Theano, and TensorFlow with simple commands shown in previous courses.

This course focuses on "how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about "seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you want more than just a superficial look at machine learning models, this course is for you.

Suggested Prerequisites:

  • calculus
  • linear algebra
  • probability
  • Python coding: if/else, loops, lists, dicts, sets
  • Numpy coding: matrix and vector operations, loading a CSV file
  • linear regression, logistic regression
  • neural networks and backpropagation
  • Can write a feedforward neural network in Theano and TensorFlow

Tips for success:

  • Use the video speed changer! Personally, I like to watch at 2x.
  • Take handwritten notes. This will drastically increase your ability to retain the information.
  • Write down the equations. If you don't, I guarantee it will just look like gibberish.
  • Ask lots of questions on the discussion board. The more the better!
  • Don't get discouraged if you can't solve every exercise right away. Sometimes it'll take hours, days, or maybe weeks!
  • Write code yourself, this is an applied course! Don't be a "couch potato".

Testimonials and Success Stories

I am one of your students. Yesterday, I presented my paper at ICCV 2019. You have a significant part in this, so I want to sincerely thank you for your in-depth guidance to the puzzle of deep learning. Please keep making awesome courses that teach us!

I just watched your short video on “Predicting Stock Prices with LSTMs: One Mistake Everyone Makes.” Giggled with delight.

You probably already know this, but some of us really and truly appreciate you. BTW, I spent a reasonable amount of time making a learning roadmap based on your courses and have started the journey.

Looking forward to your new stuff.

Thank you for doing this! I wish everyone who call’s themselves a Data Scientist would take the time to do this either as a refresher or learn the material. I have had to work with so many people in prior roles that wanted to jump right into machine learning on my teams and didn’t even understand the first thing about the basics you have in here!!

I am signing up so that I have the easy refresh when needed and the see what you consider important, as well as to support your great work, thank you.

Thank you, I think you have opened my eyes. I was using API to implement Deep learning algorithms and each time I felt I was messing out on some things. So thank you very much.

I have been intending to send you an email expressing my gratitude for the work that you have done to create all of these data science courses in Machine Learning and Artificial Intelligence. I have been looking long and hard for courses that have mathematical rigor relative to the application of the ML & AI algorithms as opposed to just exhibit some 'canned routine' and then viola here is your neural network or logistical regression. ...


I have now taken a few classes from some well-known AI profs at Stanford (Andrew Ng, Christopher Manning, …) with an overall average mark in the mid-90s. Just so you know, you are as good as any of them. But I hope that you already know that.

I wish you a happy and safe holiday season. I am glad you chose to share your knowledge with the rest of us.

Hi Sir I am a student from India. I've been wanting to write a note to thank you for the courses that you've made because they have changed my career. I wanted to work in the field of data science but I was not having proper guidance but then I stumbled upon your "Logistic Regression" course in March and since then, there's been no looking back. I learned ANNs, CNNs, RNNs, Tensorflow, NLP and whatnot by going through your lectures. The knowledge that I gained enabled me to get a job as a Business Technology Analyst at one of my dream firms even in the midst of this pandemic. For that, I shall always be grateful to you. Please keep making more courses with the level of detail that you do in low-level libraries like Theano.

I just wanted to reach out and thank you for your most excellent course that I am nearing finishing.

And, I couldn't agree more with some of your "rants", and found myself nodding vigorously!

You are an excellent teacher, and a rare breed.

And, your courses are frankly, more digestible and teach a student far more than some of the top-tier courses from ivy leagues I have taken in the past.

(I plan to go through many more courses, one by one!)

I know you must be deluged with complaints in spite of the best content around That's just human nature.

Also, satisfied people rarely take the time to write, so I thought I will write in for a change. :)

Hello, Lazy Programmer!

In the process of completing my Master’s at Hunan University, China, I am writing this feedback to you in order to express my deep gratitude for all the knowledge and skills I have obtained studying your courses and following your recommendations.

The first course of yours I took was on Convolutional Neural Networks (“Deep Learning p.5”, as far as I remember). Answering one of my questions on the Q&A board, you suggested I should start from the beginning – the Linear and Logistic Regression courses. Despite that I assumed I had already known many basic things at that time, I overcame my “pride” and decided to start my journey in Deep Learning from scratch. ...


By the way, if you are interested to hear. I used the HMM classification, as it was in your course (95% of the script, I had little adjustments there), for the Customer-Care department in a big known fintech company. to predict who will call them, so they can call him before the rush hours, and improve the service. Instead of a poem, I Had a sequence of the last 24 hours' events that the customer had, like: "Loaded money", "Usage in the food service", "Entering the app", "Trying to change the password", etc... the label was called or didn't call. The outcome was great. They use it for their VIP customers. Our data science department and I got a lot of praise.



4 Lectures · 18min
  1. Introduction and Outline (02:42) (FREE preview available)
  2. Where to get the code and data - instant access (01:42)
  3. How to use Github & Extra Coding Tips (Optional) (11:12)
  4. How to Succeed in this Course (03:04)

Google Colab

4 Lectures · 36min
  1. Intro to Google Colab, how to use a GPU or TPU for free (12:32)
  2. Uploading your own data to Google Colab (11:41)
  3. Where can I learn about Numpy, Scipy, Matplotlib, Pandas, and Scikit-Learn? (08:54)
  4. Temporary 403 Errors (02:58)

Machine Learning and Neurons

13 Lectures · 01hr 39min
  1. Review Section Introduction (02:37)
  2. What is Machine Learning? (14:26)
  3. Code Preparation (Classification Theory) (15:59)
  4. Classification Notebook (08:40)
  5. Code Preparation (Regression Theory) (07:18)
  6. Exercise: Predicting Diabetes Onset (02:34)
  7. Regression Notebook (10:34)
  8. Exercise: Real Estate Predictions (02:33)
  9. The Neuron (09:58)
  10. How does a model 'learn'? (10:53)
  11. Making Predictions (06:45)
  12. Saving and Loading a Model (04:27)
  13. Suggestion Box (03:10)

Feedforward Artificial Neural Networks

11 Lectures · 02hr 33min
  1. Artificial Neural Networks Section Introduction (06:00)
  2. Forward Propagation (09:40)
  3. The Geometrical Picture (09:43)
  4. Activation Functions (17:18)
  5. Multiclass Classification (08:41)
  6. How to Represent Images (12:36)
  7. Color Mixing Clarification (55:00)
  8. Code Preparation (ANN) (12:42)
  9. ANN for Image Classification (08:36)
  10. ANN for Regression (11:05)
  11. Exercise: E. Coli Protein Localization Sites (02:21)

Convolutional Neural Networks

14 Lectures · 02hr 31min
  1. What is Convolution? (part 1) (16:38)
  2. What is Convolution? (part 2) (05:56)
  3. What is Convolution? (part 3) (06:41)
  4. Convolution on Color Images (15:58)
  5. Why use 0-indexing? (23:16)
  6. CNN Architecture (20:58)
  7. CNN Code Preparation (15:13)
  8. CNN for Fashion MNIST (06:46)
  9. CNN for CIFAR-10 (04:28)
  10. Data Augmentation (08:51)
  11. Batch Normalization (05:14)
  12. Improving CIFAR-10 Results (10:22)
  13. Exercise: Facial Expression Recognition (01:35)
  14. FAQ: How to Choose Filters? (09:47)

Natural Language Processing (NLP)

6 Lectures · 48min
  1. Embeddings (13:12)
  2. Code Preparation (NLP) (13:17)
  3. Text Preprocessing (05:30)
  4. CNNs for Text (08:07)
  5. Text Classification with CNNs (06:10)
  6. Exercise: Sentiment Analysis (02:01)

Genomics and Computational Biology

2 Lectures · 36min
  1. Genomics Concepts, Data Description, Task Description (12:53)
  2. Genomics with CNNs in Python (23:13)

Using Your Own Custom Images (VIP Only)

3 Lectures · 54min
  1. Large Datasets and Data Generators (07:03)
  2. Data Generators in Tensorflow and Keras (36:45)
  3. Making Predictions for a Single Image File (JPEG, PNG, etc.) (10:33)

In-Depth: Loss Functions

3 Lectures · 23min
  1. Mean Squared Error (09:11)
  2. Binary Cross Entropy (05:58)
  3. Categorical Cross Entropy (08:06)

In-Depth: Gradient Descent

6 Lectures · 54min
  1. Gradient Descent (07:52)
  2. Stochastic Gradient Descent (04:36)
  3. Momentum (06:11)
  4. Variable and Adaptive Learning Rates (11:46)
  5. Adam Optimization (pt 1) (13:15)
  6. Adam Optimization (pt 2) (11:14)

Outline and Review (Legacy)

6 Lectures · 20min
  1. Introduction and Outline (01:51)
  2. Review of Important Concepts (03:43)
  3. Where to get the code and data for this course (02:08)
  4. How to Succeed in this Course (03:13)
  5. Tensorflow or Theano - Your Choice! (04:10)
  6. How to load the SVHN data and benchmark a vanilla deep network (05:04)

Convolution (Legacy)

8 Lectures · 52min
  1. Real-Life Examples of Convolution (08:53)
  2. Beginner's Guide to Convolution (06:28)
  3. What is convolution? (05:19)
  4. Convolution example with audio: Echo (06:40)
  5. Convolution example with images: Gaussian Blur (05:42)
  6. Convolution example with images: Edge Detection (03:22)
  7. Write Convolution Yourself (09:15)
  8. Alternative Views on Convolution (06:43)

Convolutional Neural Network Description (Legacy)

7 Lectures · 52min
  1. Translational Invariance (02:23)
  2. Architecture of a CNN (05:09)
  3. Convolution on 3-D Images (10:50)
  4. Tracking Shapes in a CNN (16:38)
  5. Relationship to Biology (02:19)
  6. Convolution and Pooling Gradients (02:40)
  7. LeNet - How the Shapes Go Together (12:52)

Convolutional Neural Network in Theano (Legacy)

3 Lectures · 25min
  1. Theano - Building the CNN components (04:20)
  2. Theano - Full CNN and Test on SVHN (17:27)
  3. Visualizing the Learned Filters (03:36)

Convolutional Neural Network in TensorFlow (Legacy)

2 Lectures · 14min
  1. TensorFlow - Building the CNN components (03:40)
  2. TensorFlow - Full CNN and Test on SVHN (10:39)

Practical Tips (Legacy)

2 Lectures · 14min
  1. Practical Image Processing Tips (03:08)
  2. Advanced CNNs and how to Design your Own (11:10)

Project: Facial Expression Recognition (Legacy)

5 Lectures · 01hr 04min
  1. Facial Expression Recognition Problem Description (12:22)
  2. The class imbalance problem (06:02)
  3. Utilities walkthrough (05:46)
  4. Convolutional Net in Theano (21:04)
  5. Convolutional Net in TensorFlow (19:04)

Setting Up Your Environment (Appendix/FAQ by Student Request)

3 Lectures · 42min
  1. Pre-Installation Check (04:13)
  2. Anaconda Environment Setup (20:21)
  3. How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow (17:33)

Extra Help With Python Coding for Beginners (Appendix/FAQ by Student Request)

6 Lectures · 01hr 05min
  1. Beginner's Coding Tips (13:22)
  2. How to Code Yourself (part 1) (15:55)
  3. How to Code Yourself (part 2) (09:24)
  4. Proof that using Jupyter Notebook is the same as not using it (12:29)
  5. Python 2 vs Python 3 (04:38)
  6. Is Theano Dead? (10:04)

Effective Learning Strategies for Machine Learning (Appendix/FAQ by Student Request)

4 Lectures · 59min
  1. How to Succeed in this Course (Long Version) (10:25)
  2. Is this for Beginners or Experts? Academic or Practical? Fast or slow-paced? (22:05)
  3. What order should I take your courses in? (part 1) (11:19)
  4. What order should I take your courses in? (part 2) (16:07)

Appendix / FAQ Finale

2 Lectures · 08min
  1. What is the Appendix? (02:48)
  2. Where to get discount coupons and FREE deep learning material (05:49)


  • Data Links
This website is using cookies. That's Fine