Book Image

Python Deep Learning Cookbook

By : Indra den Bakker
Book Image

Python Deep Learning Cookbook

By: Indra den Bakker

Overview of this book

Deep Learning is revolutionizing a wide range of industries. For many applications, deep learning has proven to outperform humans by making faster and more accurate predictions. This book provides a top-down and bottom-up approach to demonstrate deep learning solutions to real-world problems in different areas. These applications include Computer Vision, Natural Language Processing, Time Series, and Robotics. The Python Deep Learning Cookbook presents technical solutions to the issues presented, along with a detailed explanation of the solutions. Furthermore, a discussion on corresponding pros and cons of implementing the proposed solution using one of the popular frameworks like TensorFlow, PyTorch, Keras and CNTK is provided. The book includes recipes that are related to the basic concepts of neural networks. All techniques s, as well as classical networks topologies. The main purpose of this book is to provide Python programmers a detailed list of recipes to apply deep learning to common and not-so-common scenarios.
Table of Contents (21 chapters)
Title Page
About the Author
About the Reviewer
Customer Feedback

Applying pooling layers

A popular optimization technique for CNNs is pooling layers. A layer is a method to reduce the number of trainable parameters in a smart way. Two of the most commonly used pooling layers are average pooling and maximum (max) pooling. In the first, for a specified block size the inputs are averaged and extracted. For the latter, the maximum value within a block is extracted. These pooling layers provide a translational invariance. In other words, the exact location of a feature is less relevant. Also, by reducing the number of trainable parameters we limit the complexity of the network, which should prevent overfitting. Another benefit is that it will reduce the training and inference time significantly.

In the next recipe, we will add max pooling layers to the CNN we've implemented in the previous recipe and at the same time we will increase the number of filters in the convolutional layers.

How to do it...

  1. Import all necessary libraries:
import numpy as np

from keras...