BACK TO PROJECTS

CNN Model

Built and trained a custom deep CNN with strong data augmentation and tracked performance over long training. The goal was to push accuracy through iteration and disciplined evaluation.

goal

Train a deep CNN and improve accuracy using augmentation + tuning

dataset

CIFAR-10 (32×32 RGB, 10 classes)

training

400 epochs • long training with tracked metrics

best Accuracy

~96.6% (training accuracy)

//Model Architecture

  • ►Deep CNN with stacked convolution blocks
  • ►Conv blocks use BatchNorm + LeakyReLU + MaxPool
  • ►Dropout used to reduce overfitting
  • ►Final classifier head outputs 10 classes

//Training Setup

  • ►Loss: CrossEntropyLoss
  • ►Optimizer: SGD + momentum (stable training for CNNs)
  • ►Regularization: weight decay + dropout
  • ►Scheduler: learning-rate decay (for late-stage refinement)

//Data Augmentation

  • ►Used to improve generalization and reduce overfitting.
  • ►RandomHorizontalFlip
  • ►RandomRotation
  • ►RandomResizedCrop
  • ►Normalize

//Results

  • ►Peak training accuracy: ~96.6%
  • ►Training remained stable across long runs (hundreds of epochs)
  • ►Saved curves + logs to track loss/accuracy over time

//What I Learned

  • ►Why augmentation boosts robustness
  • ►How BatchNorm stabilizes deeper networks
  • ►How LR scheduling affects late-epoch improvements
  • ►How to debug training using curves + logs

//Next Improvements

  • ►Report test accuracy + per-class accuracy
  • ►Add confusion matrix and error analysis
  • ►Try stronger architectures (ResNet/EfficientNet)
  • ►Make evaluation transforms deterministic (no random augments in test)