Some of you know that I have been reading Adrian Rosebrock’s book – Deep Learning for Computer Vision with Python “DL4CV”, I did a review of the Starter bundle a few months back. Recently I finished reading Practitioner Bundle so here’s a review of this book.
Practitioner bundle starts from where Starter bundle left off. While Starter bundle gives you the necessary introduction to the field of Computer vision and Image processing it’s more geared towards the beginners who are just entering the field of Deep learning for Computer vision, Practitioner Bundle is suited for more real-life uses cases. In this book, Adrian walks you through some of the practical tips and tricks of writing your own Convolution neural networks, training and evaluating them with real data sets and so on
First covered in the book is Data Augmentation technique for your training input data which is a recommended pre-processing step to have better generalization capability in your neural network during inference, Adrian shows you all the necessary steps to do Data augmentation before training any network.
One of the core techniques for enhancing your Neural network and getting accurate predictions is Transfer Learning. It is a technique where you use existing neural networks which are trained on similar data sets and modify them to suit your own training data, in the book Adrian shows you how to do that along with Fine-tuning a neural network.
Adrian also shows what is rank-1, rank-5 accuracy and when to use which one, how to use an ensemble of a neural network to get even higher accuracies, what are different network optimization methods like Adagrad, RMSProp, and Adam when to use each of them with examples.
Like the Starter bundle, this Practitioner bundle is structured in a way that every chapter builds on top of the previous one. After the chapters on Image Recognition and Classification, Adrian takes the natural next step which is Object Detection along with other more recent researches in Convolutional Neural networks that resulted in Neural Style Transfers, Image Super-Resolution and Generative Adversarial Networks (GANs).
As explained in the Code section of my Starter Bundle blog post, the code only gets better in this bundle where every chapter not only has a code for it but also from the previous chapters which make it easier to get an understanding of how all of the concepts work together. The code is structured in such a way that it’s easier to read with descriptive comments and it’s even ready to be used in your own projects without modifications.
Personally, this book has helped me better understand architectures like ResNet, GoogleNet and how to implement them among other things. Adrian has done a really good job of explaining every detail of these architectures including code implementation in Keras, this helped me explain the ResNet architecture to professionals recently in a Computer Vision-based meetup in Karachi that I organized.
In the beginning I had to read several blog posts to learn each concept for example data augmentation, transfer learning or working with large datasets but I still couldn’t piece them together not to mention that code examples varied in quality, DL4CV and the code that accompanies the book has all of those necessary information and more in one place, it has given me that solid understanding that I have used in my own work.
I moderate the largest Deep Learning group on Facebook and see a lot of people who are new in the field of Computer vision struggle with some of these concepts and I often recommend this book to them.
I totally enjoyed reading this book and it’s a book which you’ll either have a copy sitting on your desk or just a click away in your favorite PDF reader on your computer when you’re implementing or training your own networks