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


In this chapter we have learnt that following best practices will help on day to day activities as a Machine Learning engineer. We have seen how to prepare and split a dataset into subsets in order to facilitate proper training and fine tuning of a network. In addition we have looked at performing meaningful tests where the results achieved are representative of the ones that we will see when the model is deployed on the target application. Another topic that has been covered is overfitting and underfitting to data and what the best practices to follow are in order to address these issues. Furthermore, the problem of imbalanced datasets was addressed and we have seen a simple example of where this might be found (disease diagnosis). To solve this problem it was suggested to collect more data, augment the dataset and select evaluation metrics that are invariant to imbalanced datasets. Lastly, it was shown how to structure code in order to make it more readable and reusable.  

In the...