Next Article in Journal
Digitalization of the Marketing Activities of Enterprises: Case Study
Next Article in Special Issue
Albumentations: Fast and Flexible Image Augmentations
Previous Article in Journal
Grade Setting of a Timber Logistics Center Based on a Complex Network: A Case Study of 47 Timber Trading Markets in China
Previous Article in Special Issue
Cyber Security Tool Kit (CyberSecTK): A Python Library for Machine Learning and Cyber Security
Article

Fastai: A Layered API for Deep Learning

by 1,2,*,† and 1,†
1
Fast.ai, San Francisco, CA 94117, USA
2
Data Science Institute, University of San Francisco, San Francisco, CA 94117-1080, USA
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Information 2020, 11(2), 108; https://doi.org/10.3390/info11020108
Received: 21 December 2019 / Revised: 13 February 2020 / Accepted: 14 February 2020 / Published: 16 February 2020
(This article belongs to the Special Issue Machine Learning with Python)
fastai is a deep learning library which 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. fastai includes: a new type dispatch system for Python along with a semantic type hierarchy for tensors; a GPU-optimized computer vision library which can be extended in pure Python; an optimizer which refactors out the common functionality of modern optimizers into two basic pieces, allowing optimization algorithms to be implemented in 4–5 lines of code; a novel 2-way callback system that can access any part of the data, model, or optimizer and change it at any point during training; a new data block API; and much more. We used this library to successfully create a complete deep learning course, which we were able to write more quickly than using previous approaches, and the code was more clear. The library is already in wide use in research, industry, and teaching. View Full-Text
Keywords: deep learning; data processing pipelines deep learning; data processing pipelines
Show Figures

Figure 1

MDPI and ACS Style

Howard, J.; Gugger, S. Fastai: A Layered API for Deep Learning. Information 2020, 11, 108. https://doi.org/10.3390/info11020108

AMA Style

Howard J, Gugger S. Fastai: A Layered API for Deep Learning. Information. 2020; 11(2):108. https://doi.org/10.3390/info11020108

Chicago/Turabian Style

Howard, Jeremy, and Sylvain Gugger. 2020. "Fastai: A Layered API for Deep Learning" Information 11, no. 2: 108. https://doi.org/10.3390/info11020108

Find Other Styles
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Access Map by Country/Region

1
Back to TopTop