Hi all, In this post, I’m going to review the most comprehensive book I’ve ever read, for mastering deep learning and computer vision. The review is entirely based on my experience and how I felt about the book. So let’s dive in.
So before reviewing the book, let me tell you the most asked question for me by people around me and through some professional social networking platforms. That is, How do I learn Deep learning and Computer Vision. If you had asked me the same before a few months, it’s so difficult to answer it. Because there are a few resources out there, but none of them are complete, credible and clearly explained. I had scratched my head, when I started digging into this field, as then, there were very few resources available and most of the posts I read are not clear to the point. And there are many false implementations of many architectures and even the explanations are not valid. So what to do now?
Now, the good news, there is a book which covers a wide range of topics, starting from scratch and taking you to the level of working on gigantic dataset ImageNet. It’s none other than Deep Learning for Computer Vision with Python by Dr.Adrian Rosebrock.
The book is available in 3 bundles, namely
- Starter Bundle
- Practioner Bundle
- ImageNet Bundle
You can learn more about the bundles and the contents on its official website. I got my ImageNet Bundle and therefore, I can review all the three bundles. So let’s continue.
The starter bundle walks you through the fine-grained details of image processing and basic concepts of machine learning and deep learning with clear explanations. It does not require you to have any prior knowledge except python programming language. It explains the most basic yet difficult to understand concepts like Backpropagation and Gradient Descent in a very intuitive way.
Also, it explains how to build Convolutional Neural Networks which are the building blocks for developing complex deep learning models to classify, detect and segment objects. Also, it explains how to schedule learning rates to achieve better accuracies. So by the end, you will definitely have a clear understanding of how deep learning applied to images works and enables to develop such networks for your own tasks with ease.
To tell you in simple words, the starter bundle is very good for absolute beginners which teaches almost every concept that makes you get your hands dirty by the end of the bundle.
This is my favorite part of the entire book as it covers most of the techniques required by any computer vision expert to master. I’ve learned a lot from this bundle. While reading the book, I realized that most of the blog posts I read about some topics are wrong and they are falsely implementations.
This bundle answers most of the questions like
- How to choose correct learning rate?
- How many layers do I need and what should be the kernel size?
- Which is the best way to optimize models?
- When to stop training and how to boost the accuracy?
- How to fine-tune a pre-trained network?
- and a lot more
Not just that, it shows how to implement the winning implementation of ImageNet like VGG, GoogleNet, ResNet, etc. Also, it shows how to achieve the reported accuracies using such networks, this proves the credibility of the implementation.
Every chapter is so exciting and you’ll definitely enjoy the way its explained. Also, the training phase is explained in such a way that it shows how to start with an experiment and proceed forward by understanding the outputs of one experiment. So it’s more like seeing some expert doing the experiments and making educated guesses about the hyper-parameters to achieve better accuracy.
Not only that, it shows how to work with gigantic datasets which are not possible to load into the memory. Also, every implementation shown in the book is very easy to understand and laid out in a modular way, which you can directly use in your own projects by just plugging in the package. This itself is a very valuable feature of the book.
This bundle is clearly targeted towards people who are experienced but want to explore more of the details.
As the name spells, it is totally concentrated on the ImageNet dataset which is so huge consisting of 1.2M images classified into 1000 categories. Handling such dataset itself is a nightmare to most of the people. As it requires a heavy understanding of memory management and optimization techniques to work with such datasets.
The bundle clearly explains how to acquire and structure the dataset to work effectively. It clearly explains every detail of the dataset and challenges involved to work with such datasets. Because the way you work with such gigantic datasets differs from simple datasets. So you will definitely understand how to lay your projects when working with large datasets.
This bundle uses mxnet to build the networks, as it is the best library to work with multi-GPU and distributed environments. Also, it teaches you the best practices on how to make better-educated guesses about the experiment and fine-tune them to boost the accuracy without overfitting.
Every bundle includes certain case studies which help you build exciting projects using the concepts you learn in them.
Finally, there is a lot more to the review I can add, but to tell in layman terms, it’s an invaluable resource for any person who wants to step into field of deep learning and computer vision as well as for an experienced professional as it covers most of the untold techniques and explains how to implement academic research papers with ease.
You can never find such a complete book on deep learning and computer vision anywhere. It requires a lot of motivation to get into this field which is guaranteed with this book. It’s definitely worth more than the price.