5.0 out of 5 stars
Best one book for actually doing Deep Learning
Reviewed in the United States πΊπΈ on April 27, 2021
While no one should be limited to just one book, if I had to choose, this is the one book for rolling up my sleeves and actually doing Deep Learning. It's also not overly long. The authors carefully chose just the necessary materials and not too much. Each important concept is carefully explained. Some of the concepts are covered multiple times, with progressive depth, as the chapters advance. The book is chock full of Jupyter notebooks that you can use as templates with **your own data**. You can swap out sections from one chapter with sections from other chapters to tailor it to **your** data project. The Fastai library is an open-source Python packages used heavily in the book, also written by fast.ai. It's there to help new data scientist get started faster. It handles many of the common tasks in a data science project, and acts as an easier interface (API) to PyTorch, Pandas, and NumPy. It also sets many hyperparameter with defaults that work in the majority of cases. While later on, users can go straight to the PyTorch source, initially these defaults and the unified Fastai API saves a lot of time.
While the authors say this is a good introduction to anyone with **1 year of Python coding experience,** I think it helps to have some traditional deep learning class exposure. I took Coursera's Andrew Ng deep learning classes before, and that knowledge really helped. This book is written top-down, which is opposite of traditional college classes, so it could be very confusing if you have not taken any traditional-style class in deep learning. Also the heavy use of Fastai library makes the code more difficult to learn in some dimension, even though on net it saves a lot of learning time. :-( At times it's difficult to tell how to do the same thing in PyTorch without using Fastai as a front-end API. You will need to learn how to do it all in PyTorch eventually (chapters 17, 18, 19), but not until you have several working projects under your belt. So yes, it's the best one book for rapidly getting started and DOING real deep learning with your **own data.** :-D
**Update August 5., 2022:**
There is a 2022 Spring version of class using this book on YouTube. Search for Fastai or Jeremy Howard. Fastbook notebooks on Github is updated to April 2022. Previous date was August 2020, same as book.
A reviewer said that too many codes in the book were outdated and produced errors in February 2021. That was not at all my experience. One of the error example given, I can confirmed was an error. There was an extra blank space at the beginning of a code line. But the other example given for DataBlock api, I can confirm is not an error since I've ran that code many times. I've also ran almost all of the code from chapters 1 to 12 during 2021. I found only 2 code errors. I led a Meetup group using this book. Also, I recommend downloading the Jupyter notebooks from GitHub to get the latest version, but this would not have affected the error rate in the code during 2021, since both the book and Github code had the same version, dated August 2020. Of course people should use books they like and enjoy! And not everyone likes this book.
In my experience in leading a Meetup group based on this book over 14 months, about 50% LOVE this book (75% experienced coders in some language and 25% brand new to 1 year Python coders). About 25% HATE this book (half and half experienced and beginner coders), mainly because of the top-down teaching approach, and some people feel that using Fastai library hides too much of the code detail in part 1 (chp 1-10). Straight PyTorch and bottom-up approach would have worked better for these people. About 25% are in the middle. They like the Fastai top-layer API library (a must for complete beginner coders) and/or the top-down teaching approach.
I fall into the "will have the most hard time" category according to Jeremy Howard at a Lex Friedman interview: About 1 year of full-time coding experience in Python without a deeper coding experience in other languages, and not a total beginner coder. However, I appreciate the top-down teaching approach and Fastai library that offers an easier coding layer for beginners. I had to read small parts of source code for Fastai library to understand DataBlocks API, but I learned about coding patterns and URL fetch commands too. I think it requires more work for someone in my category (want to understand the code under the hood, but am not an experienced coder). For me, it was totally worth it.
For a total beginner, this book and class is the only option to learn deep learning. All other classes/books require some programming experience and especially Python programming experience (1 year minimum, 2 years recommended). So I would completely recommend the Fastai book to a total beginner. You may feel uncomfortable with the top-down teaching approach since most college classes are taught bottom-up. But as long as you try to live with it, you can run cool deep learning projects by learning to use pre-built example notebooks, pre-trained models, and tutorial, and substituting the example data with your own. Think of it as learning to drive a car on your highway of choice, instead of learning to build the engine first to race your car on formula one!
13 people found this helpful