Deep learning experiment
CIFAR-10 CNN: A Reproducible Baseline
An image classifier with its full record kept.
- Role
- Project author
- Classification
- Reproducible experiment
Problem
Often only the best number survives.
How it was solved
I kept the configuration and results for every class.
- Data
- CNN
- Per-class results
Result
64.26%
test accuracy
- Worst class33.5%
- Overall64.26%
- Best class82.0%
Built with
- PyTorch
- torchvision
- NumPy
Deep learning experiment / Vision
Sixty-four percent is the mean of ten very different numbers, and the boundary the model learned best is not one of the ten it was asked for.
Tracked test accuracy64.26%
A test set audited, and a mean pulled apart
This diagram in words
- CIFAR-10 subset source — Seeded splits, fixed before anything is trained.torchvision
- Contamination audit artifact — Content hashes and nearest-neighbour distance, flips included.
- CNN training process — A small convolutional network, trained from scratch.PyTorch
- Validation selection gate — Where the kept checkpoint is chosen.
- Test evaluation process — One accuracy figure, and the confusion matrix behind it.scikit-learn
- Class diagnostics artifact — Ten per-class figures, from 33.5% to 82.0%, under one mean.
Read the full background
Problem
Why this work exists
Small vision experiments are easy to overstate when only the best headline number survives and the run configuration is lost.
Contribution
What I can claim
Implemented the training and evaluation path, tracked one bounded reference run, and retained per-class performance and plots rather than claiming an unrecorded full-dataset result.
Method
Detail traded for meaning
A convolutional stack answers a classification question by discarding almost everything, in a specific order.
291 cat images were predicted as dog.
Represent
The input is a grid of pixels - all detail, no interpretation.
Abstract
Each layer keeps fewer, larger features.
Decide
What survives is a short list of scores over classes.
What this does not show
This is a compact baseline on a small, well-studied dataset. Its value is a reproducible reference point, not a competitive result.
How it was built
System
Workflow and decisions
- 1CIFAR-10 subset
- 2CNN training
- 3Validation selection
- 4Test evaluation
- 5Class diagnostics
- PyTorch
- torchvision
- NumPy
- Matplotlib
- scikit-learn
Evidence
What is actually versioned
15,000 training samples, 12 epochs, and 815,018 parameters in the versioned reference run.
Per-class accuracy exposes large variation hidden by the aggregate score.
How the work is checked
Quality controls
How the work is checked
- Run configuration and metrics are stored together
- Learning curves, confusion matrix, and class-level results are tracked
- The portfolio uses the recorded 64.26% result rather than an aspirational 85% claim
Limitations
Where the evidence stops
- A bounded educational baseline, not a state-of-the-art result
- The reference run uses a 15,000-image training subset
- No trained checkpoint is versioned
What this changed in my practice
What this changed in my practice
Reproducibility means keeping the unglamorous context, the subset, epochs, configuration, and weak classes, next to the score.