Skip to content

The NX Project

The NX project leverages Elixir’s unique strengths in multitasking and fault tolerance to create a scalable, distributed ML framework that outperforms current solutions.

Overview

Github
Code

More Information

Our Numerical Elixir effort includes five key projects.

  • Nx stands for Numerical Elixir, the project that started it all. Nx is a multi-dimensional tensor library with multi-staged compilation to the CPU/GPU. It plays a similar role to Numpy in the Elixir community. It is inspired by Google’s JAX and ships with its own Tensor Serving implementation that can run concurrently, distributed over multiple nodes, and partitioned across several GPUs.
  • Livebook brings the next generation of open-source local-first notebooks to Elixir. With Livebook you can write interactive and collaborative notebooks, which are truly reproducible, all the way to package management. If you are not yet familiar with Elixir, Livebook and its smart cells are one of the best ways to get started, and it features a growing ecosystem of integrations for databases, messaging, visualization, and more.
  • Explorer brings series (one-dimensional) and data frames (two-dimensional) for fast and elegant data exploration to Elixir. It uses the power of Rust via the Polars library and is inspired by dplyr (from the R community).
  • Axon is an Nx-powered Neural Network library. It consists of three components: a Functional API of numerical functions, a high-level Model Creation API, and a Training API inspired by PyTorch Ignite.

  • Scholar is the most 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.

Contribute

Join the Discord

Contributors

About Brian

Brian is the Founder of DockYard, where he also served as CEO.

About Paulo

Paulo Valente is an Elixir enthusiast, NX maintainer, and Senior Software Engineer at DockYard. He was previously an Open Source Developer at Stone. He holds an electronics and computer engineering degree from University of Brazil (UFRJ).

Other Projects