Book Image

Hands-On Convolutional Neural Networks with TensorFlow

By : Iffat Zafar, Giounona Tzanidou, Richard Burton, Nimesh Patel, Leonardo Araujo
Book Image

Hands-On Convolutional Neural Networks with TensorFlow

By: Iffat Zafar, Giounona Tzanidou, Richard Burton, Nimesh Patel, Leonardo Araujo

Overview of this book

Convolutional Neural Networks (CNN) are one of the most popular architectures used in computer vision apps. This book is an introduction to CNNs through solving real-world problems in deep learning while teaching you their implementation in popular Python library - TensorFlow. By the end of the book, you will be training CNNs in no time! We start with an overview of popular machine learning and deep learning models, and then get you set up with a TensorFlow development environment. This environment is the basis for implementing and training deep learning models in later chapters. Then, you will use Convolutional Neural Networks to work on problems such as image classification, object detection, and semantic segmentation. After that, you will use transfer learning to see how these models can solve other deep learning problems. You will also get a taste of implementing generative models such as autoencoders and generative adversarial networks. Later on, you will see useful tips on machine learning best practices and troubleshooting. Finally, you will learn how to apply your models on large datasets of millions of images.
Table of Contents (17 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

GoogLeNet


While VGGNet came second in the 2014 Imagenet Classification challenge, the next model we will talk about, GoogLeNet, was the winner that year. Created by Google, it introduced an important way to make networks deeper and reduce the number of parameters at the same time. They called what they came up with the Inception module. This module populates the majority of the GoogLeNet model.

GoogLeNet has 22 layers and almost 12 times fewer parameters than AlexNet. Thus, in addition to being far more accurate, it is also much quicker than AlexNet. The motivation for the Inception module creation was to make a deeper CNN so that highly accurate results could be achieved and for the model to be usable in a smartphone. For this, the calculation budget needed to be roughly 1.5 billion multiply-adds in the prediction phase:

 

Inception module

The Inception module (or block of layers) aims to cover a large area but also keep a fine resolution in order to see the important local information in images...