Summary
In this chapter, we learned about CNNs, or convolutional neural networks, and explored the building blocks that form different CNN architectures. We started by defining the convolution operation, then we learned about its fundamentals by discussing 1D as well as 2D implementations.
We also covered subsampling by discussing two forms of pooling operations: max-pooling and average-pooling. Then, putting all these blocks together, we built a deep convolutional neural network and implemented it using the TensorFlow core API as well as the TensorFlow Layers API to apply CNNs for image classification.
In the next chapter, we'll move on to Recurrent Neural Networks (RNN). RNNs are used for learning the structure of sequence data, and they have some fascinating applications, including language translation and image captioning!