Age estimation in 0.32 MB: a neural network that fits in a tweet
A Keras model shrinks age estimation to pocket-sized weights by turning classification into staged regression.

What it does SSR-Net estimates age from a single face image, and throws in gender regression as a bonus. It runs on Keras/TensorFlow and claims real-time speeds even on CPU. The whole model weighs 0.32 MB—small enough that the authors also ship a 0.17 MB CoreML version for iOS.
The interesting bit Instead of direct regression, SSR-Net treats age estimation as a series of coarse-to-fine classification stages. Each stage refines the previous one’s guess, so every layer handles only a few classes and needs few neurons. The clever part: each “age class” gets a dynamic range that shifts and scales per input image, softening the usual quantization error from bucketing ages into bins.
Key highlights
- 0.32 MB model size vs. state-of-the-art approaches the authors cite as 1500× larger (per their paper claims)
- Stagewise architecture: multiple stages, each refining a small decision space
- Dynamic range per class adapts to the input face, reducing hard-binning artifacts
- Pre-trained models for IMDB, WIKI, and Morph2 datasets; MegaAge-Asian variant in a separate repo
- Webcam demo uses LBP face detection to dodge MTCNN’s CPU overhead
Caveats
- The README warns that pre-trained models are mainly for dataset evaluation, not real-world images; retraining on your own data is advised
- Morph2’s gender model is called out as overfitted and “not practical”
- Morph2 pre-trained models struggle with in-the-wild images; IMDB/WIKI recommended for demos
- Last meaningful update was 2019; dependencies include older Keras/TensorFlow stack
Verdict Worth a look if you need age estimation on severely memory-constrained devices or want to study compact regression architectures. Skip if you need production-grade accuracy out-of-the-box without retraining, or if you’re already committed to modern PyTorch/TensorFlow 2.x workflows.