chapter six

6 Teaching machines to see: Image classification with CNNs

 

This chapter covers

  • Performing exploratory data analysis on image datasets in Python
  • Implement an image pipelines in TensorFlow that preprocesses and feeds image data to the model
  • Implementing a complex CNN that has parallel layers and other intricacies using Keras Functional API
  • Train a CNN model using a validation set for performance monitoring as well as a test set to measure final accuracy

We already have done a fair bit of work on convolution neural networks. We have implemented convolution neural networks using the Keras sequential API. We used various Keras layers such as Conv2D, MaxPool2D and Dense layers to easily implement convolution neural networks. We already studied various parameters related to the Conv2D and MaxPool2D layers such as window size, stride and padding.

6.1 Exploring the image

6.1.1 The folder / file structure

6.1.2 Understanding the classes in the dataset

6.1.3 Computing simple statistics on the dataset

6.2 Creating data pipelines using Keras ImageDataGenerator

6.3 Inception Net: Training and evaluating a state-of-the-art CNN

6.3.1 Recap on convolution neural networks

6.3.2 Inception net v1

6.3.3 Putting everything together

6.3.4 Other Inception models

6.4 Training the model and evaluation performance

6.5 Summary

6.6 Answers to exercises