JAX: High performance array computing

Contents

JAX: High performance array computing#

JAX is a Python library for accelerator-oriented array computation and program transformation, designed for high-performance numerical computing and large-scale machine learning.

Familiar API

JAX provides a familiar NumPy-style API for ease of adoption by researchers and engineers.

Transformations

JAX includes composable function transformations for compilation, batching, automatic differentiation, and parallelization.

Run anywhere

The same code executes on multiple backends, including CPU, GPU, & TPU

Getting started
Getting Started with JAX
User guides
User guides
Developer notes
Developer notes

If you’re looking to train neural networks, use Flax and start with its tutorials. For an end-to-end transformer library built on JAX, see MaxText.

Ecosystem#

JAX itself is narrowly-scoped and focuses on efficient array operations & program transformations. Built around JAX is an evolving ecosystem of machine learning and numerical computing tools; the following is just a small sample of what is out there:

Neural networks

Optimizers & solvers

Miscellaneous tools

Probabilistic programming

Probabilistic modeling

Physics & simulation

Many more JAX-based libraries have been developed; the community-run Awesome JAX page maintains an up-to-date list.