HTC Education Series: Deep Learning with PyTorch Basics - Lesson 4

This is the 4th lesson in the HTC Deep Learning with PyTorch Basics course. It begins with the 4th lecture in the course called 'Deep Learning with PyTorch: Zero to GANs'.

This 4th lecture is called "Image Classification with Convolutional Neural Networks".

What was covered in the lecture

CIFAR10 dataset - 32x32 image dataset for image classification

DataLoaders and torchvision datasets

Understanding convolution

Building a convolutional neural network in a nn.Sequential



Training a convolutional neural networks

    how to avoid overfitting

Saving and loading model weights

Additional HTC Material

1.  You should start getting more comfortable working with PyTorch DataLoader objects.  It was discussed in the lecture above.  The Paperspace Blog has a good recent post called "A Comprehensive Guide to the DataLoader Class in PyTorch" you can read to further educate yourself about DataLoaders and DataSets.

2.  We will continue our exploration of PyTorch Lightning with this tutorial on"Supervised and Self-Supervised Transfer Learning with PyTorch Lightning".  In addition to giving you more exposure to PyTorch Lightning workflow, this tutorial will cover transfer learning, and self-supervised learning.  

Self-supervised learning is an extremely hot research topic, and provides a way to train a deep learning system when you just have unlabeled data.  Transfer Learning is the key approach to speeding up your custom neural network by piggy-backing on top of an existing pre-trained network.

3.  The first lecture in this lesson introduced convolutional neural networks.  Yann LeCunn pioneered the development of convolutional neural networks in the 80's and beyond.  Learn everything you wanted to know about convolutional neural networks and more from the master in this lecture.


1.  Each lesson introduces you to new PyTorch functional blocks you can use to construct custom neural net architectures in PyTorch.  This lesson introduced nn.Conv2d and nn.MaxPool2d.

What functional blocks that you already know were also used in this lesson?

2.  Self-supervised learning is an extremely hot deep learning research topic.  It's great that PyTorch lightning has built in features to help you get a handle on it and use it in your own architectures.

There are a number of other HTC posts that discuss self-supervised learning.  Take a browse through some of them to learn more.

Need to review something from the previous lessons in the course. 
No problem.

You can access the first lesson here.

You can access the second lesson here.

You can access the third lesson here.

You just completed lesson 4 here.

Lesson 5 posts next monday.

Keep in mind that HTC courses are works in progress until the final lesson post, so previous and current posted lessons may be tweaked to optimize as the course progresses.


Popular posts from this blog

Simulating the Universe with Machine Learning

CycleGAN: a GAN architecture for learning unpaired image to image transformations

Pix2Pix: a GAN architecture for image to image transformation