/udacity_dog_project

Udacity's Machine Learning Nanodegree Convolutional Neuronal Networks project.

Primary LanguageHTMLMIT LicenseMIT

Project Overview

Udacity's Convolutional Neural Networks (CNN) project in the AI Nanodegree! It explains how to build a pipeline that can be used within a web or mobile app to process real-world, user-supplied images. An algorithm is implemented in which, given an image of a dog, it identifies an estimate of the canine’s breed. If supplied an image of a human, the code will identify the resembling dog breed.

Sample Output

It explores state-of-the-art CNN models for classification and the challenges involved in piecing together a series of models designed to perform various tasks in a data processing pipeline. Each model has its strengths and weaknesses, and engineering a real-world application often involves solving many problems without a perfect answer.

Project Instructions

An output of the Jupyter Notebook is provided in file dog_app.html

Running Jupyter Notebook Instructions

  1. Clone the repository and navigate to the downloaded folder.
git clone https://github.com/roj4s/udacity_dog_project.git
cd dog-project
  1. Download the dog dataset. Unzip the folder and place it in the repo, at location path/to/dog-project/dogImages.

  2. Download the human dataset. Unzip the folder and place it in the repo, at location path/to/dog-project/lfw. If you are using a Windows machine, you are encouraged to use 7zip to extract the folder.

  3. Download the VGG-16 bottleneck features for the dog dataset. Place it in the repo, at location path/to/dog-project/bottleneck_features.

  4. Build docker image using the Dockerfile provided. Or pull from docker hub as docker pull roj4s/udacity_dog_project

  5. Run the built image with docker run [image_name] --gpus --all -p 8080:8080 -v [path-to-dogs-dataset]:/opt/dog_project/dogImages -v [path-to-humans-dataset]:/opt/dog_project/lfw -v [path-to-project]/.ipynb_checkpoints:/opt/dog_project/.ipynb_checkpoints -v [path-to-project]/saved_models:/opt/dog_project/saved_models -v [path-to-project]/bottleneck_features:/opt/dog_project/bottleneck_features [image-name]

  6. Open Jupyter notebook in browser at localhost:8080 and revert to last checkpoint.