This project is a part of the Deep Learning Nanodegree at Udacity
-- Project Status: Completed
Building 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.
- Deep Learning
- Convolutional Neural Networks
- Transfer Learning
- Python 3
- anaconda or miniconda
- PyTorch
- Numpy
- OpenCV
- tqdm
- PIL
- torchvision
- matplotlib
- jupyter notebook
The purpose of the project is to develop an algorithm that could be used as part of a mobile or web app that will accept any user-supplied image as input. If a dog is detected in the image, it will provide an estimate of the dog's breed. If a human is detected, it will provide an estimate of the dog breed that is most resembling. OpenCV's implementation of Haar feature-based cascade classifiers is used to detect human faces in images. VGG-16 model is used to detect dogs in images. I used Transfer Learning to create dog breed classifier that got 0.55 test loss and 83% test accuracy after 30 epochs of training. (for more details see this documentation)
- Clone this repo (for help see this tutorial).
- Install the above technologies
- Create a new conda environment >> conda create --name deep-learning python=3
- Enter the environment: (Mac/Linux) >> source activate deep-learning, (Windows) >> activate deep-learning
- Run the following to open up the notebook server >> jupyter notebook