Aesara#

Aesara is a fast, hackable, meta-tensor library in Python

Aesara is a Python library that allows you to define, optimize/rewrite, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It is composed of different parts:

  • Symbolic representation of mathematical operations on arrays

  • Speed and stability optimization

  • Efficient symbolic differentiation

  • Powerful rewrite system to programmatically modify your models

  • Extendable backends Aesara currently compiles to C, Jax and Numba.

Overview of Aesara

Aesara adheres to the following design principles:

  • Familiar: Aesara follows the NumPy API and can act as a drop-in replacement.

  • Modular: Aesara’s graph, rewrites, backends can be easily be extended independently.

  • Hackable: Easily add rewrites, mathematical operators and backends in pure python.

  • Composable: Aesara’s compiled functions are compatible with the Numba & JAX ecosystems.

We also make a strong commitment to code quality and scalability.

Aesara is based on Theano, which has been powering large-scale computationally intensive scientific investigations since 2007.

Install Aesara#

You can install Aesara with conda or with pip. To get the bleeding edge version you can install aesara-nightly.

conda install -c conda-forge aesara
pip install aesara
pip install aesara-nightly

Attention

To use the Numba or JAX backend you will need to install that library in addition to Aesara. Please refer to Numba’s installation instructions and JAX’s installation instructions respectively.

Community#