
Deep CNN Image Classifier
SE-ResNet · 16-class image classifier
Trained on a GPU cluster (SLURM); graduate coursework, source private.
Built as graduate Deep Learning coursework, this implements both a baseline CNN and an improved architecture from scratch in PyTorch: a wide pre-activation SE-ResNet (Squeeze-and-Excitation attention + residual connections) with stochastic depth, for 32×32 RGB images across 16 categories. The training pipeline adds batch-level augmentation (random flip/crop/erase), Mixup and CutMix, label smoothing, gradient clipping, cosine-annealing LR with warmup, Nesterov SGD, best-checkpoint restoration, and test-time augmentation. Trained on 32,000 images (6,400 validation, 9,600 test) through a Kaggle-style submission pipeline, with nine named ablation experiments (exp_a..exp_i) sweeping width, depth, seeds, SWA/SAM, TTA and epoch budgets, orchestrated as SLURM batch jobs on a GPU cluster, taking the model from a 56.38% baseline to 77.66% best validation accuracy.
- PyTorch
- Python
- CNN / SE-ResNet
- NumPy
- Matplotlib
- SLURM
- Kaggle
- Best val accuracy
- 77.66% (16 classes)
- Baseline → improved
- 56.38% → 77.66%
- Training images
- 32,000
- Experiments
- 9 (exp_a–exp_i)