Dog Vision
Deep Learning · Computer Vision

Identify Any Dog Breed From a Single Photo

Dog Vision is an end-to-end deep learning project built with TensorFlow that trains a convolutional neural network on the Kaggle Dog Breed Identification dataset to classify 120 different breeds from a single uploaded image.

The Intent Behind the Project

Identifying a dog's breed from a photo is a fun, real-world problem that maps naturally to a multi-class image classification task — and one that perfectly showcases the power of modern deep learning. Dog Vision was built as a hands-on exploration of how transfer learning and pre-trained convolutional neural networks can be combined with a relatively modest dataset to deliver practical, accurate predictions.

The goal goes beyond just training a model. The project covers the full machine learning lifecycle: from raw data preparation on the Kaggle dataset, through model training and evaluation, all the way to serving the model as a live web application where anyone can upload a photo of a dog and instantly receive the model's best guess at its breed.

What Makes It Tick

120 Distinct Breeds

Trained on the Kaggle Dog Breed Identification dataset containing over 10,000 labeled images spanning 120 unique breeds.

Transfer Learning

Leverages a pre-trained CNN backbone from TensorFlow Hub to dramatically reduce training time and improve accuracy.

Web-Based Inference

Upload a photo through a simple web UI and receive a breed prediction in seconds — no installation required.

Reproducible Notebook

Everything from data loading to evaluation lives in a clean Jupyter notebook so the workflow can be re-run end-to-end.

How It Works

  1. Data preparation Download and organize the Kaggle Dog Breed Identification dataset, then convert images and labels into TensorFlow batched datasets ready for training.
  2. Model construction Build a transfer-learning model on top of a pre-trained vision backbone, with a classification head sized to predict across all 120 breeds.
  3. Training & evaluation Train on GPU with callbacks for early stopping and TensorBoard logging, then evaluate accuracy and inspect predictions on the validation set.
  4. Serving Wrap the trained model in a lightweight web app that accepts a photo upload, runs inference, and returns the most likely breed along with confidence scores.

Tech Stack

The project brings together the modern Python ML ecosystem and a small web layer for delivery:

Python TensorFlow TensorFlow Hub Keras NumPy Pandas Matplotlib Jupyter Docker Kaggle Dataset

See It In Action

Upload a photo of any dog and let the model take its best guess.