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)