Official Course Announcements


If you’re reading this post, you have been accepted into the “Deep Learning with PyTorch: Zero to GANs” certification course. The course starts on Saturday, Nov 21st 2020.

Lecture Dates and Timings:

Lecture 1: November 21 (Sat), 8.30 AM PST/9:00 PM IST
Lecture 2: November 28 (Sat), 8.30 AM PST/9:00 PM IST
Lecture 3: December 5 (Sat), 8.30 AM PST/9:00 PM IST
Lecture 4: December 12 (Sat), 8.30 AM PST/9:00 PM IST
Lecture 5: December 19 (Sat), 8.30 AM PST/9:00 PM IST
Lecture 6: December 26 (Sat), 8.30 AM PST/9:00 PM IST
(Click the links to view the lecture timing in your timezone.)

Add to Calendar (Google)

Lecture 1: November 21 (Sat), 11:00 AM IST
Lecture 2: November 28 (Sat), 11:00 AM IST
Lecture 3: December 5 (Sat), 11:00 AM IST
Lecture 4: December 12 (Sat), 11:00 AM IST
Lecture 5: December 19 (Sat), 11:00 AM IST
Lecture 6: December 26 (Sat), 11:00 AM IST

Add to Calendar (Google)

Watch this thread for updates. You can learn more about the course below.


“Deep Learning with PyTorch: Zero to GANs” is an online course intended to provide a coding- first introduction to deep learning using the PyTorch framework. The course takes a hands-on coding-focused approach and will be taught using live interactive Jupyter notebooks, allowing students to follow along and experiment.

Theoretical concepts will be explained in simple terms using code. Students will receive weekly assignments and work on a project with real-world datasets. Upon successful completion of the course, students will receive a certificate of completion.


This is a beginner-friendly course, and no prior knowledge of data science, machine learning or deep learning is assumed. It is preferable to have some background in the following areas:
• Programming knowledge, preferably in Python
• Basics of linear algebra (vectors, matrices, dot products)
• Basics of calculus (differentiation, geometric interpretation of derivative)


The course is divided into 6 modules, and will be taught over 6 weeks via video lectures and interactive Jupyter notebooks.

Module 1: PyTorch Basics - Tensors & Gradients

• Introduction to Jupyter notebooks & Data Science in Python • Creating vectors, matrices & Tensors in PyTorch
• Tensor operations and gradient computations
• Interoperability of PyTorch with Numpy

Module 2: Linear Regression & Gradient Descent

• Linear Regression from scratch using Tensor operations
• Weights, biases and the mean squared error loss function
• Gradient descent and model training with PyTorch Autograd
• Linear Regression using PyTorch built-ins (nn.Linear, nn.functional etc.)

Module 3: Logistic Regression for Image Classification

• Working with images from the MNIST dataset
• Training and validation dataset creation
• Softmax function and categorical cross-entropy loss • Model training, evaluation and sample predictions

Module 4: Feedforward Neural Networks & GPUs

• Working with cloud GPU platforms like Kaggle & Colab
• Creating a multilayer neural network using nn.Module
• Activation function, non-linearity and universal approximation theorem • Moving with datasets and models to the GPU for faster training

Module 5a: Image Classification using Convolutional Neural Networks

• Working with the 3-channel RGB images from the CIFAR10 dataset
• Introduction to Convolutions, kernels & features maps
• Underfitting, overfitting and techniques to improve model performance

Module 5b: Data Augmentation, Regularization and ResNets

• Improving the dataset using data normalization and data augmentation
• Improving the model using residual connections and batch normalization
• Improving the training loop using learning rate annealing, weight decay and gradient clip • Training a state of the art image classifier from scratch in 10 minutes

Module 6: Image Generation using Generative Adversarial Networks (GANs)

• Introduction to generative modelling and application of GANs
• Creating generator and discriminator neural networks
• Generating and evaluating fake images of handwritten digits
• Training the generator and discriminator in tandem and visualizing results

Exercises & Assignments

Completing the exercises and assignments will allow students to apply their skills, and is a mandatory requirement for obtaining the certificate of completion.

Weekly Assignments

  • Week 1: Linear Regression
  • Week 2: Image Classification
  • Week 3: Feedforward neural networks

Course Project

For the course project, students will create an image classification model using Convolutional neural networks, on a real-world dataset of their choice. The project will allow students to experiment with different types of models and regularization techniques. Students will also present their work at the end of the course and publish a blog post describing their approach and results.

Certificate of Completion

Students who attend at least 5 out of 6 video lectures and make valid submissions for all assignments will be eligible to receive a Certificate of Completion by Jovian. Selected projects will also receive a Best Project Award based on evaluation criteria determined by the instructors.

Instructor - Aakash N S

Aakash N S is the co-founder and CEO of Jovian, a project management and collaboration platform for machine learning. Prior to starting, Aakash worked as a software engineer (APIs & Data Platforms) at Twitter in Ireland & San Francisco and graduated from IIT Bombay. He’s also a Competitions Expert on Kaggle, an avid blogger, open-source contributor, and online educator.

Course Instructor: @aakashns
Course TA: @PrajwalPrashanth