Top 3 most used Pytorch Ecosystem Libraries you should Know about

Pytorch is an open-source machine learning library based on Chainer and Torch by Facebook AI Research(FAIR). The library was first released in 2016 and has since then become one of the most used libraries for training deep neural networks. It has established a duopoly along with its competitor Tensorflow, which is an open-source project by Google. Pytorch is used by industry-leading tech giants such as Tesla and Uber. Given Pytorch’s ubiquity, it would seem natural for an ecosystem to emerge around Pytorch. The Pytorch ecosystem consists of many libraries designed and built around Pytorch to complement it. In this blog post, we will look at 3 of the most used libraries in the Pytorch ecosystem that you should know and consider adding to your skillset.

Pytorch Lightning

Pytorch Lightning is a high-level interface for the Pytorch library. It is one of the most used libraries in the field of AI Research, probably even more so than Pytorch itself. Pytorch Lightning was even recommended by Neural Information Processing Systems(NeurIPS- previously, NIPS) Reproducibility Challenge in 2019 as a standard for submitting Pytorch based code. It has many advanced features that make it useful for AI Researchers. Pytorch Lightning makes it easy to write and read Pytorch code by removing the boilerplate code. Pytorch Lightning does all this while preserving the flexibility required for research.

Learn More about Pytorch Lightning- Website, Github.

Fast AI

Fast AI is a Machine Learning library built on top of Pytorch keeping both use-cases in mind- rapid prototyping and flexibility. It provides high-level components which allow you to create and train a Neural Network in few lines of code. Fast AI also provides you with low-level components that allow you to be flexible in your approach when building Neural Networks. This is accomplished by using low-level APIs which can be used when re-writing high-level APIs for custom use. Fast AI tries to build on this approach with minimal compromises on performance, ease of use, and flexibility.

Learn More about Fast AI- Website, Github.

Albumentations

Albumentations is a Python library for performing Data Augmentation- a technique that allows you to artificially create new training data from existing training data. Unlike Pytorch Lightning and Fast AI, Albumentations can only be used to perform Data Augmentation and cannot be used to train Neural Networks. However, Data Augmentation is widely and heavily used in the field of Computer Vision for training Deep Neural Networks, which makes Albumentations a very important library in the Pytorch ecosystem. While many libraries exist for performing the image augmentation tasks and all machine learning libraries contain tools for performing image augmentation as well, what makes Albumentations useful is its speed and the number of transformations that it can perform as compared to other libraries.

Learn More about Albumentations- Website, Github.

You may also want to check out the following posts-

Pytorch Tutorial, here.

Using Albumentations Part 1, here.