The Elegant Machine Learning Stack

Flux is a 100% pure-Julia stack and provides lightweight abstractions on top of Julia's native GPU and AD support. It makes the easy things easy while remaining fully hackable.

Features

Flux has features that sets it apart among ML systems.
Compiled Eager Code

Flux provides a single, intuitive way to define models, just like mathematical notation. Julia transparently compiles your code, optimising and fusing kernels for the GPU, for the best performance.

Differentiable Programming

Existing Julia libraries are differentiable and can be incorporated directly into Flux models. Cutting edge models such as Neural ODEs are first class, and Zygote enables overhead-free gradients.

First-class GPU support

GPU kernels can be written directly in Julia via CUDA.jl. Flux is uniquely hackable and any part can be tweaked, from GPU code to custom gradients and layers.

The Model Zoo

A rich collection of Flux scripts to learn from, or tweak to your own data. Trained Flux models can be used from TextAnalysis or Metalhead.

TPUs & Colab

Flux models can be compiled to TPUs for cloud supercomputing, and run from Google Colab notebooks.

Ecosystem See all

Flux has a diverse ecosystem that includes models available for reuse and other useful packages.
Probabilistic Programming

The Turing.jl and Stheno libraries enable probabilistic programming, bayesian inference and Gaussian processes on top of Flux.

GeometricFlux

GeometricFlux.jl is a geometric deep learning library for Flux and has support of CUDA GPU acceleration with CUDA.

Metalhead

Metalhead includes many state-of-the-art computer vision models which can easily be used for transfer learning.

SciML

The SciML ecosystem uses Flux and Zygote to mix neural nets with differential equations, to get the best of black box and mechanistic modelling.

Transformers

Transformers.jl provides components for Transformer models for NLP, as well as providing several trained models out of the box.

DiffEqFlux

DiffEqFlux.jl provides tools for creating Neural Differential Equations.

Community

Get in touch with the Flux community.
Community team

Join the group of community maintainers supporting the FluxML ecosystem.

Discourse forum

Machine Learning in Julia community.

Slack

Official Julia Slack for casual conversation.

Zulip

Zulip server for the Julia programming language community.

Why Flux?

Researchers, users, and developers of Flux