Data Science Book Reviews #3

Mohamed Rizwan
5 min readOct 2, 2021

I hope my book reviews help the data science aspirants to choose the right book(s).

Book Review on the title: “Deep Learning with Python”

Author: Francois Chollet.

Edition:2018

List Price. Rs.550/-

Publisher: Manning Publications Co., New York

My Opinion on the book: A beginner’s guide to deep learning

Book Review Rating — 8/10

This book is written by the creator of Keras — Francois Chollet. He is also Google AI Researcher.

The book is divided into 2 parts of total 9 chapters. First part is devoted to explain the building blocks of machine learning, deep learning and Keras framework. Second part is about the classical practical applications of deep learning in the natural language processing, computer vision including GANs and functional APIs of Keras. Part I contains 4 chapters and Part II contains remaining 5 chapters.

Author provided all code examples on the GitHub page: https://github.com/fchollet/deep-learning-with-python

I am elaborating some key contents of the book in the following 2 paragraphs:

Chapter 1 introduces the basic concepts of machine learning and deep learning. The history and evolution of machine learning and deep learning thoroughly discussed. This chapter has thrown light on how the improvements in hardware, open source data and algorithmic advances speed up the deep learning for the past 2 decades. Chapter 2 introduces basic architecture of neural network with MNIST image dataset. Data representations, data batches, data formats, tensors, gradient descent algorithm, and back propagation algorithm are some of the important concepts of DL included in this chapter. In the third chapter, you would get to understand the deep learning framework: Keras, loading the datasets, preparing the data, building and compiling the model, configuring the optimizer, using loss function, metrics, training, validating the model and plotting training loss versus validation loss. Finally, getting predictions on new data are demonstrated with three different data sets: IMDB reviews, Reuters, Boston housing price. K-Fold cross-validation is implemented on the Boston housing prices dataset. Chapter 4 is basically a primer to rewind the concepts of machine learning. Data preprocessing, feature engineering, regularisation techniques are elaborated. The blueprint to solve any machine learning problem discussed in the context of deep learning. Part I is firm foundation to learn deep learning applications in Part II of this book.

First 4 chapters of Part II demonstrates applications of deep learning in computer vision, natural language processing, advanced practices of DL and generative adversarial networks respectively. Instantiating convnet, adding classifier, training and validating on image data is starting point to learn convolution neural networks in the chapter 5. Using pre-trained convnets like VGG16 also demonstrated with code examples. Word embeddings, using pre-trained embeddings, RNNs are some key learning topics in sixth chapter. Chapter 7 deals with Keras functional API, Keras callbacks, TensorBoard, etc. Generative recurrent networks, deep dream, VAE, GANs are elaborated in 8th Chapter. Final chapter gives some intuition about the future of DL and kaggle competitions, etc.

I like the writing style of author to make the reader to understand the basic concepts easily. For example, building blocks of the neural networks, machine learning, deep learning framework, etc., are explained with annoted code. Each and every new concept is explained thoroughly with code examples.

Never miss the first 4 chapters of this book because all the important topics are there with the relevant codes. Calculating the loss, gradient descent, optimization, regularisation, activation functions, data preparation for neural works, image data augmentation, building first neural network, training the network, validation methods are some of my favourite topics in the first part of this book. Machine learning metrics not discussed in depth. It is expected that you have some prior experience in machine learning and python.

Mathematical part of the algorithms not discussed in depth. As the back propagation algorithms need some mathematical intuition, you may not understand the working of it in depth in this book.

Major applications of deep learning are elaborated beautifully with relevant code examples with appropriate annotations in the codes itself. Convolution operations, image data preparation using ImageDataGenerator, image data augmentation, using pre-trained convnets for feature extraction with/without data augmentation, training the model end to end with frozen pre-trained weights are my favourite topics of applications of convolutional neural networks. “Visualising what convnets learns” is vey interesting topic and greatly demonstrated with photographs. If coloured photographs had been used in this topic, it would have been very eye candy for the readers.

Using word embedding, preparing embedding matrix to train the data on small NLP problems, using RNNs/GRUs/LSTMs/Bi-directional RNNs to train the text data are my favourites again. The working of RNNs are explained in brief. “Sequence generation with convnets” is the special topic that I have cherished in the book.

Batch normalisation, depth wise separable convolution, hyperparameter optimization, model ensembling, using keras functional API given me a great learning experience. Generative deep learning is specialised form of deep learning. My favourites in this book are generating text using LSTM, variational autoencoder (VAE) and training GAN system.

Author put simpler words to explain the concepts. I believe that average reader could understand new topics with ease. Print quality and binding of the book is superb. Photographs are in black and white. It is one of the best books of deep learning to start with.

“Deep Learning with Python by Francois Chollet” is a great read for beginners as well as for intermediate. I strongly believethat you would definitely learn the basics of deep learning right. Most importantly, practicing the codes in this book would enable you to understand the subject in depth.

I have rated this book at 8 on 1–10 scale. I would have definitely rated it at 10, if the content and codes is up-to-date of Keras TensorFlow 2.0 version and had added some codes using Pytorch framework.

You can explore other similar books: “Building with Python from First Principles — Seth Weidman”, “Deep Learning for Coders with fastai and PyTorch — Jeremy Howard and Sylvine Gugger”, etc

If you find this book review useful, please share it with your friends and do care to give a CLAP.

Follow this series to keep posted coming Data Science Book Reviews!

--

--

Mohamed Rizwan

Data Scientist, Book Reviewer, Script Writer. Building AI applications with GenAI, NLP and OpenCV.