This repository implements image classification on the CIFAR-10 dataset using PyTorch. It includes a compact CNN baseline and a modular training/evaluation pipeline with augmentation, learning curves, and a confusion matrix.
- Dataset & Augmentation
torchvision.datasets.CIFAR10- Normalization
(0.4914, 0.4822, 0.4465)/(0.2023, 0.1994, 0.2010) RandomCrop(32, padding=4)andRandomHorizontalFlip()for training
- Model
- 3-block CNN (
Conv → BatchNorm → ReLU → MaxPool) with channels32 → 64 → 128 - Linear head:
128 × 4 × 4 → 10
- 3-block CNN (
- Training
Adamoptimizer,CrossEntropyLoss- Configurable
--epochs,--batch-size,--lr
- Evaluation & Visualization
- Accuracy per epoch, final test accuracy
- Classification report & confusion matrix
- Loss/accuracy curves saved to
results/