Welcome¶
Aesara is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Aesara features:
- Tight integration with NumPy – Use
numpy.ndarray
in Aesara-compiled functions. - Efficient symbolic differentiation – Aesara does your derivatives for functions with one or many inputs.
- Speed and stability optimizations – Get the right answer for
log(1+x)
even whenx
is really tiny. - Dynamic C/JAX/Numba code generation – Evaluate expressions faster.
Aesara is based on Theano, which has been powering large-scale computationally intensive scientific investigations since 2007.
Warning
Much of the documentation hasn’t been updated and is simply the old Theano documentation.
Download¶
Aesara is available on PyPI, and can be installed via pip install Aesara
.
Those interested in bleeding-edge features should obtain the latest development version, available via:
git clone git://github.com/aesara-devs/aesara.git
You can then place the checkout directory on your $PYTHONPATH
or use
python setup.py develop
to install a .pth
into your site-packages
directory, so that when you pull updates via Git, they will be
automatically reflected the “installed” version. For more information about
installation and configuration, see installing Aesara.
Documentation¶
Roughly in order of what you’ll want to check out:
- Installing Aesara – How to install Aesara.
- Aesara at a Glance – What is Aesara?
- Tutorial – Learn the basics.
- Troubleshooting – Tips and tricks for common debugging.
- API Documentation – Aesara’s functionality, module by module.
- Frequently Asked Questions – A set of commonly asked questions.
- Optimizations – Guide to Aesara’s graph optimizations.
- Extending Aesara – Learn to add a Type, Op, or graph optimization.
- Developer Start Guide – How to contribute code to Aesara.
- Internal Documentation – How to maintain Aesara and more…
- Acknowledgements – What we took from other projects.
- Related Projects – link to other projects that implement new functionalities on top of Aesara
Community¶
- Visit aesara-users to discuss the general use of Aesara with developers and other users
- We use GitHub issues to keep track of issues and GitHub Discussions to discuss feature additions and design changes