Teaching neural networks to identify your lunch
A 2017 walkthrough of fine-tuning InceptionV3 on 101 food categories, complete with the messy notebook reality of RAM limits and multiprocessing hacks.

What it does This repo is a Jupyter notebook that fine-tunes a pre-trained InceptionV3 model on the Food-101 dataset — 101 food classes, 1,000 images each — to classify photos of dishes like bibimbap, poutine, or eggs benedict. The author achieved 82% top-1 accuracy with single-crop inference, bumping to ~87% with 10-crop voting. There’s also a Keras.js export and a follow-up blog post about squeezing the model into an iOS app.
The interesting bit The value isn’t the model architecture — it’s the unvarnished documentation of a solo practitioner’s workflow in early 2017 Keras/TensorFlow. The author openly notes needing 96 GB of RAM and a Titan X Pascal, admits they “spent about 1 month on and off” training dozens of models, and leaves in the multiprocessing pool setup that must happen before loading images or it crashes with Errno 12. It’s a time capsule of pre-cloud-GPU deep learning friction.
Key highlights
- Fine-tunes InceptionV3 via Keras applications API; no custom architecture
- 82.03% top-1 / 97.42% top-5 accuracy with 10-crop evaluation on Food-101 test set
- Includes interactive classification widgets and result visualization code
- Exported to Keras.js for browser demo; TensorFlow mobile export for iOS app documented separately
- Explicitly compares results against contemporary papers (InceptionV3 88.28%, ResNet200 90.14%, WISeR 90.27%)
Caveats
- Requires substantial RAM; author notes you “won’t be able to follow along” without enough memory
- README is a rendered notebook, so GitHub display is broken in places (iframe demo, some image paths)
- Last substantive update was March 2017; Keras.js and TensorFlow 1.x patterns are now largely obsolete
Verdict Worth a skim if you’re studying how transfer learning was taught circa 2017, or if you need a concrete — if dated — example of fine-tuning pipelines with heavy data augmentation. Skip it if you want a runnable modern recipe; the dependencies and tooling have moved on.