Dog Breed Classification CNN
Transfer learning pipeline for 133-class image classification with a Streamlit demo.
PythonKeras/TensorFlowStreamlitTransfer Learning
Dog Breed Classification CNN
A practical, end-to-end ML project: train a model, validate it, then ship an interactive UI that people can actually use.

Architecture overview
CNN pipeline: data loading → augmentation → transfer learning (MobileNetV2/EfficientNet) → prediction → Streamlit UI for image uploads.
Key technical decisions
- Transfer learning to start from strong pretrained visual features rather than training from scratch.
- Streamlit to deploy a usable demo quickly without heavy web boilerplate.
- Iterative tuning of augmentation + fine-tuning boundaries to balance bias/variance in a high-class-count setup.
Challenges & solutions
133 breeds means small per-class sample sizes and a strong overfitting risk. The project focuses on augmentation strategy and careful fine-tuning so the model generalizes instead of memorizing class artifacts.
Results / impact
End-to-end pipeline from training to local deployment, documented on Hashnode (Part 2 of the series; Part 3 benchmarks PyTorch).
What I learned
How to turn an experiment into a reproducible workflow and a demo surface, and how to reason about generalization in high-class-count classification.