/image-classification-template

Build a deep learning model for classifying dog breeds from their images

Primary LanguageJupyter Notebook

Object Classification

Image Classification (or Image Identification) is one of the pilot use cases for deep learning. The goal of the task is to train a model capable of identifying the main object of interest in an image. What can you use it for? Here are a few ideas - identify landmarks in photos, ImageNet challenge, identifying celebrities (or yourself) in images, detecting anomalies in medical images.

Try it now

Run on FloydHub

Click this button to open a Workspace on FloydHub that will train this model.

Dog Breed Classification

In this notebook, we will build a model to identify dog breeds in an image. How well you can tell your Norfolk Terriers from your Norwich Terriers?

Classification

We will use the Kaggle's Dog Breed Dataset dataset for training. With 120 breeds of dogs and a limited number training images per class, you might find the problem more, err, ruff than you anticipated.

To speed things up, we will apply Transfer Learning by building new layers on top of the Xception model pre-trained on ImageNet to classify the top 10 dog breeds. Note: We have reduced the number of classes (i.e. dog breeds) to 10 to fit the model in a CPU machine.

We will:

  • Preprocess images data for computer vision tasks
  • Transfer Learning: build new layers on top of the pretrained Xception model using Keras and Tensorflow
  • Evaluate our model on the test set
  • Run the model on new dog images from the web!