FastAI and its application to Machine Learning & Computer Vision

Building a machine learning model from scratch is technically tedious and humongous. Computer Vision is one of the most complex machine learning topics you could see out there. A lot of data scientists and machine learning enthusiasts got stalled when they encounter different parameters and algorithm steps they have to implement to build a computer vision model.

Unfortunately, you never expected a model to be supercharge after one round of training, you had to do a series of finetuning before you get a better model. The problem of feature engineering is just an eye-saw compared to problem of model accuracy. The larger the dataset, the more the outliers, the smaller the dataset, the more the bias or overfitting/underfitting issues.

I feel very tense when i jump on the computer vision model because I know its not going to be easy. you run a lot of epochs, and callbacks, yet you still get some false positive predictions/classifications.

Transfer learning is one aspect of machine learning that really made life easier and one of them is FastAI. Fastai is a deep learning library that provides practitioners with high-level components that can quickly and easily provide state-of-the-art results in standard deep learning domains, and provides researchers with low-level components that can be mixed and matched to build new approaches. It aims to do both things without substantial compromises in ease of use, flexibility, or performance. This is possible thanks to a carefully layered architecture, which expresses common underlying patterns of many deep learning and data processing techniques in terms of decoupled abstractions. These abstractions can be expressed concisely and clearly by leveraging the dynamism of the underlying Python language and the flexibility of the PyTorch library.