CIFAR-100 with WideResNet-28×10
A reproducible high-accuracy training pipeline with MixUp, CutMix and RandAugment.
Trains a WideResNet-28×10 on CIFAR-100 with strong augmentation and a stable schedule, then analyzes the model with top-1 and top-5 accuracy, per-class results and confusion matrices.
README · rendered from GitHub
CIFAR100 WideResNet28x10 Classification Pipeline
1. Project Overview
This project builds a high accuracy image classification system for the CIFAR100 dataset using the WideResNet28x10 architecture. The goal is to achieve strong top 1 accuracy through advanced augmentation, stable training strategy, and detailed model analysis.
Key objectives: • Construct a reproducible training pipeline • Apply strong augmentations like MixUp, CutMix, and RandAugment • Train WideResNet28x10 to high accuracy • Evaluate performance using top 1 and top 5 metrics • Perform model interpretation using GradCAM and t SNE
2. Dataset Information
Dataset: CIFAR100
• Number of classes: 100 • Image size: 32 x 32 RGB • Train images: 50000 • Test images: 10000 • Class types: animals, vehicles, household items, foods
Preprocessing statistics: • Mean: [0.5071, 0.4867, 0.4408] • Std: [0.2675, 0.2565, 0.2761]
3. Exploratory Data Analysis
Key EDA steps: • Display per class sample images • Verify class labels and counts • Visualize per class mean image • Plot RGB histograms for selected classes • Identify visually similar class groups
Insights from EDA: • Several classes are highly similar in appearance • Contrast and color variation across images is moderate • Augmentation is necessary to improve generalization
4. Data Augmentation and Preprocessing
Train transforms: • Random crop (32 with padding 4) • Random horizontal flip • RandAugment • MixUp augmentation (in training loop) • CutMix (probability 0.5) • Normalize using dataset mean and std
Test transforms: • ToTensor • Normalize
Optional: • Random erasing
Purpose: • Improve robustness • Reduce overfitting • Expand training sample diversity
5. Model Architecture
Model: WideResNet28x10
Key attributes: • Depth: 28 • Width factor: 10 • Uses wide residual blocks • Dropout p = 0.3 • Final fully connected layer outputs 100 classes • Weight initialization using He Normal
Why WideResNet: • Wider layers improve feature richness • Performs especially well on CIFAR sized images
6. Training Strategy
Optimizer: SGD • Momentum: 0.9 • Weight decay: 5e 4
Learning rate policy: • Initial LR: 0.1 • Warmup: 5 epochs • Cosine annealing schedule
Hyperparameters: • Batch size: 128 • Epochs: 250 • Loss: Cross entropy with label smoothing (0.1)
Stability features: • Save last 5 checkpoints • Enable CuDNN benchmark • Fixed random seeds
7. Evaluation Method
Metrics: • Top 1 accuracy • Top 5 accuracy • Per class accuracy • Confusion matrix
Advanced evaluation: • Test time augmentation • Ensemble predictions from last checkpoints
Reporting: • Plot training and validation accuracy curves • Display worst performing classes
8. Model Interpretation and Analysis
Tools used: • GradCAM heatmaps • t SNE or UMAP feature visualization • Error inspection for misclassified images
Insights: • Identifying confusing class pairs • Understanding model attention regions • Evaluating feature cluster separation
9. Results Summary
Expected outcomes: • High accuracy WideResNet model for CIFAR100 • Strong generalization due to augmentations • Stable training curves due to cosine scheduling • Meaningful visualizations for deeper understanding
Recommended result slides: • Accuracy curves • Confusion matrix • GradCAM samples • t SNE cluster plot
10. Conclusion
The project delivers an end to end CIFAR100 classification system using a powerful WideResNet architecture and modern augmentation methods. It emphasizes reproducibility, robustness, and deep model analysis, making it suitable for academic and applied machine learning presentations.
More in AI / ML
Related projects
Private repoAI / MLSummer 2026Trans-Neptunian Object Detection
A spatiotemporal U-Net that finds faint moving objects in telescope image sequences.
- PyTorch
- Python
- HDF5
- CANFAR
AI / ML2023SkinSense: Skin Cancer Classifier
An ensemble of five models labels a lesion as benign or malignant from one RGB image.
- Python
- Scikit-learn
- XGBoost
- LightGBM
AI / ML2025RecycleVision
EfficientNetB0 transfer learning sorts waste into six recyclable categories.
- Python
- TensorFlow
- Keras
- EfficientNetB0