Convolutional Neural Network(CNN) project for Udacity's Machine Learning Engineer Nanodegree. I learned how to build a pipeline that can be used within a web or mobile app to process real-world, user-supplied images. Given an image of a dog, my algorithm identifies the dog's breed (specifying it's confidence). If supplied an image of a human, the code identifies the resembling dog breed. If neither a human nor a dog are provided as input, the app recognizes it ignorance about the non-human & non-Dog Realm.
- First I used VGG16 to learn to train a model using Transfer learning.
- For the final model I used VGG19's bottleneck features (Output after convolutional layers) as input to my own architecture.
VGG16 & VGG19
My Architecture
- Intro
- Step 0: Import Datasets
- Step 1: Detect Humans
- Step 2: Detect Dog
- Step 3: Create a CNN to Classify Dog Breeds (from Scratch)
- Step 4: Create a CNN to Classify Dog Breeds (using Transfer Learning)
- Step 5: Write Your Algorithm
- Step 6: Test Your Algorithm