Skip to content
karim.semaan(open to work)
WorkExperienceAboutSkillsContactResume ↓
← All work
Deep CNN Image Classifier preview
ML / Data ScienceCompleted2026

Deep CNN Image Classifier

SE-ResNet · 16-class image classifier

ML / Data Science · PreviewDeep CNN Image ClassifierSE-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)
Request access
Want something like this? Get in touch →
© 2026 Karim SemaanBuilt with Next.js, Tailwind & Supabase.LinkedIn ↗GitHub ↗