Skip to content

myselfHimanshu/ai-vision-program

Repository files navigation

Applied Deep Learning : Convolution Neural Network

made-with-python   Maintenance   GitHub license   Open Source Love

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