This repo contains source codes for, Building Intuition for Convolution Neural Networks step by step.
Session-01
- Machine Learning Intuition, Background & Basics
- Python 101 for Machine Learning
- blog
Session-02
- Convolutions, Pooling Operations & Channels
- Pytorch 101 for Vision Machine Learning
- blog
Session-03
- Kernels, Activations and Layers
- blog
Session-04
- Architectural Basics suitable for our objective
- MNIST model training
- parameters used 13,402
- epochs=20
- highest test accuracy = 99.46%, epoch = 19th
- notebook link
Session-05
- Receptive Field : core fundamental concept
- MNIST model training
- parameters used 7808
- epochs=15
- highest test accuracy = 99.43%, epoch = 11th
- notebook link
Session-06
- BN, Kernels & Regularization
- MNIST model training
- using L1/L2 regularization with BN/GBN
- BN : batch normalization
- GBN : ghost batch normalization
- best model : BN with L2
- parameters used 7808
- epochs=25
- highest test accuaracy = 99.54%, epoch = 21st
- notebook link
Session-07
- Advanced Convolution
- Achieve an accuracy of greater than 80% on CIFAR-10 dataset
- architecture to C1C2C3C40 (basically 3 MPs)
- total params to be less than 1M
- RF must be more than 44
- one of the layers must use Depthwise Separable Convolution
- one of the layers must use Dilated Convolution
- use GAP
- Result
- parameters used 220,778
- epochs = 20
- highest test acc = 85.55%
- notebook link
Session-08
- Receptive Fields and Network Architectures
- Achieve an accuracy of greater than 85% on CIFAR-10 dataset
- architecture ResNet18
- Result
- parameters : 11,173,962
- epoch : 50
- training acc : 98.65%
- testing acc : 89.78%
- notebook link
Session-09
- Data Augmentation
- Achieve an accuracy of greater than 87% on CIFAR-10 dataset
- Move transformations to Albumentations.
- Implement GradCam function.
- Result
- parameters : 11,173,962
- epoch : 50
- testing acc : 92.17%
- work link
Session-10
- Advanced Concepts : Training and Learning Rates
- Achieve an accuracy of greater than 88% on CIFAR-10 dataset
- Add CutOut augmentation
- Implement LR Finder (for SGD, not for ADAM)
- Implement ReduceLROnPlateau
- Result
- parameters : 11,173,962
- epoch : 50
- testing acc : 89.80%
- work link
Session-11
- Super Convergence
- Achieve an accuracy of greater than 90% on CIFAR-10 dataset
- 3Layer-Network
- Implement One Cycle Policy
- Result
- parameters : 6,573,130
- epoch : 24
- testing acc : 91.02%
- work link
Session-12
- Object Localization : YOLO (Recognition)
- Use TinyImageNet dataset, create custom data loader with 70/30 split.
- Achieve an accuracy of greater than 50% on TinyImageNet dataset
- ResNet18
- One Cycle Policy
- Result
- parameters : 11,173,962
- epoch : 30
- testing acc : 58.35%
- work link