rojandhimal / Dog-Breed-Classifier

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Using Deep Learning to Classify Dog Breeds from Images

This project looks to implement a deep learning model in order to classify dog breeds from labeled images of dogs. Using deep learning with convolutional neural networks (CNNs) in particular, we will build both a scratch-made CNN as well as using transfer learning to implement a CNN that uses the pre-created Inception architecture.

For more details on this project, please check out this Medium blog post: https://medium.com/@rojandhimal1/cnn-and-transfer-learning-for-dog-breed-classification-34de15596cdc

The blog post is outlined as follows:

  • Introduction
  • Project Overview
    • Problem Statement
    • Datasets
    • Evaluation Metrics
  • Creating Our Deep Learning Model
    • Data Pre-Processing
    • Implementation: CNN Built from Scratch
    • Refinement: CNN Built Using Transfer Learning
  • Analyzing the Results
    • Evaluation & Validation
  • Conclusion
    • Improvement

Installations

The project makes use primarily of Python code within a Jupyter Notebook. For datasets, the project uses Scikit-Learn to import dog images as well as glob for the human face images. For the CNN architecture, this project uses Keras backed by TensorFlow.

PLEASE NOTE that this work was completed in a GPU-enabled workspace provided by Udacity. It is not recommended to run this project on a general CPU due to computational limitations.

File Descriptions

This tree describes all the files included as part of this project. Due to file size restrictions, some files (like the bottleneck features) have not been uploaded to this GitHub repository.

  • images: This file contains all the practice images used within the Jupyter notebook as well as other images that Udacity included as samples from the notebook.
  • saved_models: This file contains the saved models as run and created from the code within the Jupyter notebook.
  • dog_app.ipynb: This notebook contains all the work completed for this project.
  • dog_app.html: This is a basic HTML file output of the same Jupyter notebook above.
  • LICENSE.txt: This contains the license information for items used within this project.

Acknowledgements

A very special thanks to Udacity for all the inputs, datasets, and guidance provided for this project!!

Testing

Blog Post

The whole proect along with its result is published in the medium blog post. Click here

About

License:MIT License


Languages

Language:HTML 55.8%Language:Jupyter Notebook 42.8%Language:Python 1.5%