Skip to content

logo

Gitter Discord Twitter

Welcome to the Aesara Project!

The Aesara Project is a collection of Python projects—built on a fork of Theano named Aesara—that aid in the construction and use of domain-specific compilers for tensor-related computations.

Currently, the Aesara Project primarily serves the probabilistic modeling community through its Probabilistic Programming Language-generating capabilities and model-specific optimizations; however, its scope is not limited to just that. See the discussion here for an explanation of the Aesara Project's goals and history.

The Aesara projects

  • Aesara is a hackable "meta" tensor library that enables the manipulation of mathematical expressions involving multidimensional arrays;
  • 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 and performs model-specific optimizations such as automatic Rao-Blackwellization, Bayesian conjugation, and marginalization.

What distinguishes Aesara from other tensor libraries?

In the context of statistical modeling, Aesara allows you to focus only on the model. It provides a single, easily customizable form of a model that can be used to encode all the information needed to produce numerical optimizers and samplers.

In other words, users can 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 fully featured and extensible rewrite system—and all without ever leaving Python. Graphs can then be transpiled to a number of supported target languages (e.g. C, Numba, JAX).

Aesara is modular by design and it is straightforward to add new mathematical operators, new rewrite rules (e.g. numerical stabilizations, optimizations, etc.), and even new target languages.

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

Contact us!

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

Pinned Loading

  1. aesara aesara Public

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

    Python 1.2k 153

  2. aeppl aeppl Public

    Tools for an Aesara-based PPL.

    Python 65 20

  3. aehmc aehmc Public

    An HMC/NUTS implementation in Aesara

    Python 33 6

  4. aemcmc aemcmc Public

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

    Python 40 11

Repositories

Showing 7 of 7 repositories
  • aesara Public

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

    aesara-devs/aesara’s past year of commit activity
  • aeppl Public

    Tools for an Aesara-based PPL.

    aesara-devs/aeppl’s past year of commit activity
    Python 65 MIT 20 38 (24 issues need help) 6 Updated Oct 28, 2024
  • aemcmc Public

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

    aesara-devs/aemcmc’s past year of commit activity
    Python 40 MIT 11 29 (14 issues need help) 4 Updated Oct 23, 2023
  • aehmc Public

    An HMC/NUTS implementation in Aesara

    aesara-devs/aehmc’s past year of commit activity
    Python 33 MIT 6 6 (2 issues need help) 1 Updated Jun 22, 2023
  • .github Public

    The Aesara Project includes Aesara, AeHMC, AeMCMC, AePPL

    aesara-devs/.github’s past year of commit activity
    4 1 0 0 Updated Mar 20, 2023
  • aesara-probability Public

    Formalize the representation of random variables and measures in Aesara

    aesara-devs/aesara-probability’s past year of commit activity
    TeX 6 GPL-3.0 2 0 0 Updated Dec 3, 2022
  • aesara-repo Public template

    A template for aesara-devs repositories

    aesara-devs/aesara-repo’s past year of commit activity
    Python 2 MIT 0 0 0 Updated Aug 24, 2021