ytobi / dog-breed-classifier

A deep learning model trained for predicting canines breed.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dog Breed Classifier

In this project, I built a pipeline to process real-world, user-supplied images. Given an image of a dog, the algorithm will identify an estimate of the canine’s breed. If supplied an image of a human, the code will identify the resembling dog breed. The project is part of fulfillment for a nanodegree at Udacity.

Installation

For best experience with managing dependency I advise you install Anconda or miniconda.

Create a virtual environment with conda

conda create --name deep-learning

Activate environment.

source activate deep-learning

Install dependencies.

pip install -r requirements.txt

Download or clone this Dog_Breed_Classifier repository. Launch the app with jupyter-notebook.

jupyter-notebook dog_app.ipynb

Usage

Setup

Download the dog dataset. Unzip the folder and place it in this project's home directory, at the location /dog_images.

Download the human dataset. Unzip the folder and place it in the home directory, at location /lfw

Note: If you are using a Windows machine, you are encouraged to use 7zip to extract the folder.

Run

Run all code cells in the notebook (This will take a very very long time to run on a CPU as the code will construct and train a deep convolutional neural network, preferably(for Goodness sake) you should run on a GPU).

Test the app by passing a file path of your own image(s) to the run_app function. The run_app function predicts the breed of dog for the image provided if a human or any other image is provided the model predicts the resembling dog breed.

The trained model achieved 81% accuracy in prediction canine breed.

About

A deep learning model trained for predicting canines breed.

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 97.8%Language:Python 2.2%