Link to Jupyter Notebook: https://github.com/priyammaz/PyTorch-Adventures/blob/main/PyTorch%20for%20Computer%20Vision/Intro%20to%20Vision/PyTorch%20for%20Vision.ipynb Github Repo: https://github.com/priyammaz/PyTorch-Adventures Today we explore one of the most foundational building blocks of Neural Networks, the Convolution. We will first explore Convolutions in the context of signal processing, and how it enables us to do frequency domain operations in the time/space domain. We also take a look at the Im2Col method (nn.Unfold) to expose the inner workings of convolutions in PyTorch and how we can leverage super efficient Cuda Kernels to accelerate the convolution operation! We will end with implementing the AlexNet Model (and explore all the methods typically found in CNNs) and train again on our Cats vs Dogs dataset! Timestamps 00:00:00 Introduction 00:01:15 What is a Convolution? 00:34:40 Problems with Linear Layers for Images 00:36:10 Conv2d In PyTorch 00:38:40 Edge Detection with Sobel Filter 00:41:13 Effects of Conv2d Options (Kernel Size, Stride, Padding) 00:46:25 PyTorch Convolutions are Filter Banks 00:59:10 Im2Col (nn.Unfold) to Convert Convolution to Matrix Multiplication 01:18:30 Pooling (Subsampling) 01:23:50 Batch Normalization 01:31:55 Dropout 01:34:57 Typical structure of CNN Models 01:37:00 Implementing AlexNet 01:48:40 Training AlexNet on Dogs vs Cats 02:03:50 Recap Socials! X https://twitter.com/data_adventurer Instagram https://www.instagram.com/nixielights/ Linkedin https://www.linkedin.com/in/priyammaz/ 🚀 Github: https://github.com/priyammaz 🌐 Website: https://www.priyammazumdar.com/