whos_dat_doggo / README.md
samueld98's picture
Update README.md
b7e339d

A newer version of the Gradio SDK is available: 4.36.1

Upgrade
metadata
title: Whos dat doggo
emoji: 🐶
colorFrom: blue
colorTo: red
sdk: gradio
sdk_version: 3.12.0
app_file: app.py
pinned: false
license: unlicense

The dataset we are using is the Standford Dog Dataset (http://vision.stanford.edu/aditya86/ImageNetDogs/) As this dataset were built using ImageNet images, the images can be normalized using the mean = [0.485, 0.456, 0.406] and std = [0.229, 0.224, 0.225] this will assure that the neural network will have and mean of 0 and standar deviation of 1.

The input of the application is an image of a dog that you can insert through the UI built with Gradio. The output of the application is a text describing the breed of the dog or the closest breed that the model predicted for the image.

Prediction Task

The task the application will be performing is classification. Specifically, the classification of images of dogs, with the objective of accurately classifying them according to their breed. As such, the input will be images of dogs, and the possible values for the output will be one of one hundred and twenty two different breeds; e.g. Poodle, Briard, Newfoundland, Bluetick, etc.

Data collection

The initial train dataset will be the Stanford Dogs dataset. The Stanford Dogs dataset contains images of 120 breeds of dogs from around the world. This dataset has been built using images and annotation from ImageNet for the task of fine-grained image categorization. Contents of this dataset:

Number of categories: 120 Number of images: 20,580 Annotations: Class labels, Bounding boxes

Making Predictions

To make a prediction, the model will be available for interaction in the HuggingFace platform, over at https://huggingface.co/spaces/Samood/whos_that_doggo

Building models

The application is based on a single model, based on a pre-trained ANN, ResNet50. Additional layers have been added for the purpose of dog breed classification and the pre-trained layers were frozen.

This repository has Three main files:

  • notebook.ipynb: This notebook contains all the steps that we took to create the RestNet50 Classification Model.
  • app.py: This file contains the Gradio UI and also loads the model to HugginFace.
  • model.zip: The model itself, already trained on the notebook and ready to be loaded.