Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD
The following is a review of the great fastai python book Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD by Jeremy Howard & Sylvain Gugger.
Under the slogan ‘Make Neural Networks Uncool again‘ fastai is trying to democratise how the most valued weapon of Machine Learning is met by every day users. This awesome book demonstrates that any programmer with some Python experience can get amazing results using Deep Learning with very little math background, and a minimal time investment . As so, it is mainly oriented towards coders with little experience of Machine or Deep Learning.
The awesome Jeremy Howard (Twitter here) & Sylvain Gugger (Twitter here) provide an overview of how to train many different kinds of Deep Learning models using fastai and Pytorch while providing an awesome theoretical explanation of Deep Artificial Neural Networks, their guts, and what goes on in a very deep (lol) detail. After reading the book you will know how to:
- Train models in computer vision, natural language processing, tabular data, and collaborative filtering
- Learn the latest deep learning techniques that matter most in practice
- Improve accuracy, speed, and reliability by understanding how deep learning models work
- Discover how to turn your models into web applications
- Implement deep learning algorithms from scratch
- Consider the ethical implications of your work
- Gain insight from the foreword by PyTorch cofounder, Soumith Chintala.
We think it is a great text to read after books like ‘Hands-On Machine Learning with Scikit-Learn & TensorFlow‘ or ‘Python Machine Learning‘. Once you know the detail of the more traditional Machine Learning models, and have taken a sneak peak into Artificial Neural Networks (both books provide an extensive introduction), you will probably want to go Deep (lol again) into them, and for that a book like this one, which is a very practical Python Fast ai book is perfect.
No Experience? No Problem!
If you don’t have any experience coding, that’s OK too! The first three chapters have been explicitly written in a way that will allow executives, product managers, etc. to understand the most important things they’ll need to know about deep learning. When you see bits of code in the text, try to look them over to get an intuitive sense of what they’re doing. We’ll explain them line by line. The details of the syntax are not nearly as important as a high-level understanding of what’s going on.
Who is this Python Fast Ai book for?
As we said before, the only prerequisite is that you know how to program in Python at a basic level. If you still don’t have these skills, don’t worry, we’ve got you covered. Here you can find an extensive list of Python books and free Python Programming courses.
You also need some kind of math knowledge (high school is enough). If you think you will struggle on this field, on our tutorials section we have some free math resources, and also on our courses section there are some courses from Khan Academy which we think you will enjoy.
With this previous knowledge, the book will cover the rest of the basics that you need to feel comfortable with in order to understand Deep Learning.
The book starts with the big picture and progressively digs beneath the surface, so you may need, from time to time, to put it aside and go learn some additional topic (a way of coding something or a bit of math). That is completely OK, and it’s the way we intend the book to be read. Start browsing it, and consult additional resources only as needed.
We recommend this fastai book for early-stage deep learning students: It is clearly written, very comprehensive, and in our opinion a great asset to start studying Deep Learning in a practical way.
The contents of this Python Fast AI book are the following:
- 1) Deep Learning in practice: a brief history of Artificial Neural Networks, how to structure a Deep Learning project and how to create your first model, and the different softwares you will be using: Python Fast AI, Pytorch and Jupyter. You will also get a general introduction to Machine Learning, some jargon explanations, and an overview of why Deep Learning is so powerful.
- 2) From Model to production: In chapter two you already get an insight onto how to get your Deep Learning models onto a productive environment to provide real value, how to use DataLoaders, how to turn your Machine Learning model onto an online application, and how to avoid disaster when deploying this kind of applications! A lot of awesome material for just two chapters right =) ?
- 3) Data Ethics: This is a subject that is very warm at the moment. We’ve spoken about it with books like Artificial Intelligence: A Modern Approach or Weapons of Math Destruction by Cathy O’Neil. In this chapter you will see Key Examples for Data Ethics, and how to integrate it with Machine Learning product design, or how to handle bias.
- 4) Under the Hood: Training a Digit Classifier. In this chapter you will use different optimisation algorithms to start creating a digit classifier using Python.
- 5) Image Classification: Ever heard of the Dog vs Cat classification problem? Sure you have. It is one of the most frequent examples used to explain what DNN image classification can do. In this chapter you will go deep into the guts of a Deep Learning image classification algorithm studying cross-entropy loss and how to play with the learning rate of our ML algorithms.
- 6) Other Computer Vision problems: Multi-class classification, how to construct some of the data objects of Python Fast ai and Pytorch, and how to train regression model.
- 7) How to Train a State of the Art model: A description of some techniques used in the advanced deep learning world like normalization, augmentation, or label smoothing.
- 8) Collaborative Filtering Deep Dive: Starting to get serious no? This chapter goes into some of the more advanced techniques available in the Python fast ai and pytorch world, collaborative filtering, boostrapping, and embeddings.
- 9) Tabular Modelling Deep dive: Categorial embeddings, and some examples using data sets from Kaggle competitions, along with an explanation of Decision Trees, Random Forest and other ensemble models.
- 10) NLP Deep Dive: RNNs. This chapter dives into the most well known Artificial Neural Network architecture for Natural Language processing: Recurrent Neural Networks.
- 11) Data Munging with fastai’s Mid-Level API: How to use the fantastic API that python fast ai tutorials provides to transform and play around with data.
- 12) A Language Model from scratch: How to build your own Neural Language model from 0 and how to go an step further from vanilla RNNs to LSTMs.
- 13) Convolutional Neural Networks: This chapter explains the magic of convolutions and the greatness of this famous ANN architecture used mostly for Computer Vision.
- 14) ResNets: ResNets are one of the most known and widely used architecture for Convolutional Neural Networks. Learn how they work and how to build them.
- 15) Application Architecture Deep Dive: This chapter will teach you Python fast ai arthitectures for computer vision and Natural Language Processing.
- 16) The training process: Learn why and how to create a baseline metric, and different ANN optimisers like Momentum, RMSProp and Adam.
- 17) A Neural Net from the Foundations: Chapter 17 will make you build a neural network from scratch using matrix multiplication, broadcasting, and how to implement forward and backward propagation.
- 18) CNN interpretation with CAM: How to interpret the results of your Convolution Neural Netowkrs using CAM.
- 19) A Python Fast Ai Learner from scratch: Implement a model using fastai from 0 using an specific loss, learner.
- 20) Concluding Thoughts: How to create a blog to spread the knowledge of what you have learned, and a checklist of Data Science
As you see it is quite an extensive book right? Totally worth it!
Also you can find a video describing some of the contents of the book here:
Summary: Python Fast AI
Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD is a very extensive, well written, well thought-out book.
This fastai book has a top down approach to make deep learning more palatable for people who can code. You start by building a very simple app that does image classification and by the end of the book you’ll have a good understanding of the layered fastai v2 API and pytorch itself.
The enthusiasm the authors have is contagious and very impressive. You can really feel the love they have for what they do, and that really extrapolate into the text and the quality of the lessons and the contents covered.
If you learn best by doing, then this is surely the book for you: get started on making deep learning applications, and find tons of code snippets to get going fast! Find it at the best price on Amazon:
Deep Learning for coders with Fastai and Pytorch
- Howard, Jeremy (Author)
- English (Publication Language)
- 624 Pages - 08/11/2020 (Publication Date) - O'Reilly Media (Publisher)
Enjoy this Fastai python book, and keep engaged with How to Learn Machine Learning for more reviews like this one of Deep Learning for Coders with Fastai and Pytorch!
Spread the love and follow us on Twitter!