← all repositories
BIGBALLON/cifar-10-cnn

A decade of CNNs, one CIFAR-10 benchmark

Keras implementations of every major conv-net architecture from LeNet to SENet, with training times and accuracy numbers you can actually compare.

841 stars Python ML FrameworksLearning
cifar-10-cnn
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does This repo implements eight classic CNN architectures on CIFAR-10 using Keras and TensorFlow, from 1998’s LeNet through 2017’s SENet. Each model comes with parameter counts, training times on a GTX 1080 Ti, and final test accuracy — the kind of apples-to-apples table that’s surprisingly hard to find.

The interesting bit The author treats CIFAR-10 as a controlled experiment for understanding how architectural ideas actually perform at small scale. There’s a whole LeNet ablation showing how data preprocessing, augmentation, and weight decay stack: 58% → 60% → 75% → 76%. It’s a neat teaching device — you can see the marginal returns of each trick without burning GPU weeks.

Key highlights

  • 13 model variants with reproducible configs and a full results table (LeNet at 76%, SENet at 95.6%)
  • LeNet ablation explicitly demonstrates preprocessing, augmentation, and weight decay gains
  • Includes learning-rate schedule experiments and multi-GPU training snippets
  • Chinese-language tutorials and docs in /doc and linked issues
  • Author notes they only trained smaller DenseNet/ResNeXt variants due to compute limits — honest scope

Caveats

  • Dependencies are pinned to Python 3.5, Keras ≥2.1.5, and TensorFlow-GPU ≥1.4.1 (circa 2017–2018)
  • PyTorch version exists at a separate repo (CIFAR-ZOO); this one is Keras-only
  • Some larger networks weren’t fully trained; results reference external implementations

Verdict Worth bookmarking if you’re teaching CNN fundamentals or need quick baseline numbers on CIFAR-10. Skip it if you want production-ready code or modern PyTorch implementations — this is deliberately a pedagogical time capsule.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.