Model & Train with Numerical Elixir

"Bring the power of numerical computing to Elixir (and vice-versa) ..."

Numerical Elixir

Nx is a multi-dimensional tensor library with multi-stage compilation to the CPU/GPU. It plays a similar role to Numpy in the Elixir community.

In Nx, tensors hold typed data in multiple named dimensions. Defn numerical definitions support custom code with tensor-aware operators and functions. Automatic differentiation, also known as autograd or autodiff, supports common computational scenarios for machine learning, simulations, curve fitting, and probabilistic models.

It is inspired by Google's JAX and ships with its own Tensor Serving implementation that can run concurrently, distributed over multiple nodes, as well as partitioned across several GPUs.

Neural Network

Axon is a Nx-powered Neural Network library. It splits out into three components: a Functional API of numerical functions, a high-level Model Creation API, and a Training API inspired by PyTorch Ignite.

Also check out the Bumblebee project, which provides several pre-trained Neural Networks with Hugging Face Models integration.

Together with Livebook, it only takes 3 clicks to get your first Neural Network running in Elixir.

Data Exploration

Explorer brings (one-dimensional) series and (two-dimensional) dataframes for fast and elegant data exploration to Elixir. It brings the power of Rust via the Polars library and it is inspired by dplyr (from the R community).

Machine Learning

Scholar is a recent addition to the Nx ecosystem. It focuses on traditional machine learning techniques, such as classification, regression, clustering, dimensionality reduction, metrics, and preprocessing. Because Scholar is fully built on top of Nx, it is fully GPU-ready, vectorizable, distributable, and more.