fastai: Practical Deep Learning for Coders 2020

Kanak Raj
5 min readAug 25, 2020

--

fast.ai is self-funded research, software development, and teaching lab focused on making deep learning more accessible. They make all of the software, research papers, and courses freely available with no ads.

Jeremy Howard and Rachel Thomas are co-founders of Fast.ai. Sylvain Gugger and Jeremy Howard, your guides on this journey are the co-authors of fastai, the software that you’ll be using throughout this course.

It is the second version of the fastai library. They had improved the whole library and added new features to make it more robust and easily usable.

The course is taught at Data Institute at the University of San Francisco.

During recent years, Deep Learning has become a buzzword among people in the tech community. Recent advances in Deep Learning has resulted in tremendous growth in applications of Artificial Intelligence. So, this article is about how a coder can start deep learning using Fastai Course.

fastai2019 course

Deep Learning is really based upon Calculus, Probability, Linear Algebra, Programming, and some other stuff. People are right to say that DL is heavily maths based but the point where people are wrong is that you need these maths skills as pre-requisites. That is, you don’t need to know all about Calculus and Linear Algebra before writing deep learning codes. As these things are already applied in the deep learning libraries some are Pytorch, Tensorflow, Caffe, etc.

The second problem is even if you start to learn Maths and all algorithms and theories in deep learning, people lose interest because they are caught up in the theoretical part, many are frighten with Maths and didn’t get the idea how models are trained in real-life problems and some even get to train but don’t get good enough accuracy to stay motivated. People are generally stuck on the MNIST dataset, the so-called “Hello World” of Deep Learning. Then there is another issue of GPU, which is nowadays easily available because of Google Colab.

Deep Learning is not just about making models and doing predictions. It is also about getting your hands dirty in data. Collecting, Preprocessing, Getting intuition from data is more important points because if you don’t get to know about data then you will never know how good is your model, how to improve, and how efficient you are.

Some of the famous courses to start Deep Learning:

  1. MIT 6.S191 Introduction to Deep Learning (link)
  2. Deep Learning Specialization by Andrew Ng (link)
  3. Fastai: Practical Deep Learning for Coders (link)
  4. Tensorflow Specialisation (link)

So now Why I am saying that you should start your deep learning journey using the FASTAI course?

The most important point, which helped me a lot, that they start you by writing some codes, train some basic models and give you some state of the art accuracy. These things kept me pumped and motivated. Fastai is a high level deep learning library based upon Pytorch. The library is itself written by the instructor Jeremy Howard, who was Kaggle President and #1 ranker for a year in Kaggle and Sylvain Gugger, Masters in Maths and researcher at fastai. This course brings the best of both worlds as Jeremy has no degree in maths, he is an undergraduate in philosophy but is good in programming whereas Sylvian is a Maths specialist.

The training of a cat vs dog classification model only required 6 lines of code. That gives you confidence. Then slowly he gets you to the details of code, the details of the fastai library, best practices, its implementation, and other deep stuff. And when you are comfortable with writing some codes of your own then he lets us dive deep in maths and theoretical knowledge of Deep Learning. This approach of learning is called the top-down approach to learning. Even the functions and implementation of the library is quite easy, everything is written in very few lines of code, which makes them easy to understand as well as helps to change things in your own customized way, the library in itself is using the best and most efficient practices. The top-down approach helps learners to stay motivated and get to make their own projects in very little time.

amazon.com

They had also launched a book, Deep Learning for Coders with fastai and PyTorch: AI Applications Without a Ph.D. for beginners as well as for intermediate. The next good thing about the fastai library is the docs are very good and you can learn by reading them on your own. Everything is explained by giving examples, which are executable in itself. The whole doc is written in IPython Notebook (Jupyter Notebook) which is available on Github you can fork and run the codes and know how everything is implemented up to nitty-gritty details. The same good thing is available with the book the whole video course is based upon the book itself, and the whole book is in Jupyter Notebook format, available at Github so you can go through that and run and execute the files.

fastbook

Each video covers a chapter from the book. The entirety of every chapter of the book is available as an interactive Jupyter Notebook. Jupyter Notebook is the most popular tool for doing data science in Python.

The fastai course is not just about deep learning, they teach you end to end, from collecting datasets, then processing the dataset, training models up to the deployment of models to servers. They also help you learn more about real-life issues and problems in deep learning, where they are vulnerable and may be hugely inaccurate. No, any other course teach you end to end is this way.

fastai2020

The full course is well documented on the website. The forums are open for discussion with the instructors and peers. They even help to find a free GPU and how to set up it. It only requires 3–4 lectures to project your ideas to state of art accuracies. They also discuss how AI projects can fail, and techniques for avoiding failure. It is more of a complete package for learning.

--

--