Skip to content

adit24dhaya/Dog_Breed_Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dog Breed Classification (Deep Learning)

Deep-learning dog breed classifier with a modern training/inference CLI built on TensorFlow/Keras.

What was improved

  • Replaced notebook-exported script with a clean Python CLI.
  • Added stronger transfer-learning backbones: EfficientNetB0, ResNet50, MobileNetV2.
  • Added two-phase training (feature extraction + fine-tuning).
  • Added richer evaluation metrics and analysis artifacts.
  • Added model + label export for reproducible inference.
  • Added test/CI/dependency scaffolding for project reliability.

Project layout

DogBreedClassification/
  dog_breed_classifier_models.py
tests/
  test_cli_smoke.py
requirements.txt

Setup

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Train

Dataset structure should be class folders:

data/
  beagle/
  husky/
  pug/

Run:

python DogBreedClassification/dog_breed_classifier_models.py train \
  --data-dir data \
  --backbone efficientnetb0 \
  --model-out models/dog_breed.keras \
  --labels-out models/labels.json \
  --analysis-dir analysis \
  --epochs 8 \
  --fine-tune-epochs 2

Generated analysis outputs:

  • analysis/training_history.json
  • analysis/classification_report.json
  • analysis/metrics_summary.json
  • analysis/confusion_matrix.csv
  • analysis/confusion_matrix.png

Predict

python DogBreedClassification/dog_breed_classifier_models.py predict \
  --model-path models/dog_breed.keras \
  --labels-path models/labels.json \
  --image sample.jpg

Prediction now returns top-5 classes with confidence scores.

Test

python -m pytest -q

About

a dog breed classification project using deep learning with Keras

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors