FastAI.jl is a Julia library for training state-of-the art deep learning models.

From loading datasets and creating data preprocessing pipelines to training, FastAI.jl takes the boilerplate out of deep learning projects. It equips you with reusable components for every part of your project while remaining customizable at every layer. FastAI.jl comes with support for common computer vision and tabular data learning tasks, with more to come.

FastAI.jl's high-level workflows combine functionality from many packages in the ecosystem, most notably Flux.jl, FluxTraining.jl, DataAugmentation.jl and MLUtils.jl.

See our documentation to find out more.


As an example, here is how to train an image classification model:

using FastAI, FastVision
data, blocks = load(datarecipes()["imagenette2-320"])
task = ImageClassificationSingle(blocks)
learner = tasklearner(task, data, callbacks=[ToGPU()])
fitonecycle!(learner, 10)
showoutputs(task, learner)


To get started, install FastAI.jl and domain packages using the Julia package manager:

using Pkg
pkg"add FastAI FastVision"

or try it out with this Google Colab template.

Getting started

To dive in, you may be interested in

Get in touch

You can get in touch here on GitHub or on the JuliaLang Zulip in the #ml-contributors channel.


FastAI.jl takes inspiration from the fantastic fastai library for Python. Jeremy Howard and the fastai team kindly approved this project and its use of the fastai name.

This project also builds on many packages in the Julia ecosystem.