Skip to content

Community Gitter

Welcome to the Aesara Project!

logo

Aesara is a hackable meta-tensor library, it allows the manipulation of mathematical expressions involving multidimensional arrays. It currently supports C, Numba and JAX as backends.

What distinguishes Aesara from tensor libraries?

With Aesara you only have to focus on the model

Aesara decouples the mathematical representation of models from compiler-specific considerations. When building an Aesara model, users build a symbolic graph that represents the mathematical operations performed by the model. This graph can be inspected and modified at runtime thanks to a powerful rewrite system (without ever leaving Python) and ultimately transpiled to any of the supported backends. Aesara is modular by design and it is straightforward to add new mathematical operators, new rewrite rules (numerical stabilization, optimizations, etc.), and even new backends.

Aesara opens new possibilities in Machine Learning, exemplified by the AePPL and AeMMC libraries.

The Aesara ecosystem

  • AePPL provides an intermediate representation for Probabilistic Programming Languages, and automatically derives log-densities for probabilistic models;
  • AeHMC provides a symbolic implementation of the HMC and NUTS samplers;
  • AeMCMC automatically builds custom samplers for probabilistic models;

Although Aesara grew out of probabilistic modeling, it is more general and shouldn't be conflated with these domains of applications.

Reach out to us

Chat with us via the Gitter link above. It is also compatible with Matrix!

Pinned

  1. aesara Public

    Aesara is a Python library for defining, optimizing, and efficiently evaluating mathematical expressions involving multi-dimensional arrays.

    Python 911 149

  2. aeppl Public

    Tools for an Aesara-based PPL.

    Python 47 19

  3. aehmc Public

    A HMC / NUTS implementation in Aesara

    Python 29 4

  4. aemcmc Public

    AeMCMC is a Python library that automates the construction of samplers for Aesara graphs representing statistical models.

    Python 31 7

Repositories