The Elegant Machine Learning Stack

Features & Ecosystem

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.

Probabilistic Programming

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

TPUs & Colab

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

Researchers, users and developers of Flux