aesara
aesara copied to clipboard
Aesara is a Python library for defining, optimizing, and efficiently evaluating mathematical expressions involving multi-dimensional arrays.
The current form of `Scan.__eq__` requires an expensive traversal of two `Scan` `Op`s' inner-graphs in order to determine equivalence (i.e. `equal_computations`). The underlying problem is that the `Scan` `Op` carries...
Not a drastic improvement by any means, but something we can keep in mind: ``` reduce(at.concatenate(*tensors)) -> reduce(reduce(tensor) for tensor in tensors) ``` *Ignoring any axis complexities* ```python import aesara...
The class [`_tensor_py_operators`](https://github.com/pymc-devs/Theano-PyMC/blob/master/theano/tensor/var.py#L665)—from which [`TensorVariable`s](https://github.com/pymc-devs/Theano-PyMC/blob/master/theano/tensor/var.py#L866) inherit—automatically provides an `__iter__` method and this tricks Pandas (or any other library) into thinking that all `TensorVariable`s are iterable (e.g. via `isinstance(..., Iterable)` and...
Closes #159. WIP. Two questions: 1. Changing `broadcast_like` to `broadcast_to` in `aesara/tensor/math_opt.py` gives me a lot of `BadOptimization` and `AssertionErrors`, which I'm not knowledgeable enough to debug - can someone...
Add a new `thread_id` key that permits referencing the current thread ID (`threading.get_ident()`) in `compiledir_format`. This makes it possible to use per-thread compiledirs in multithreaded programs, and therefore make it...
There are a few `register_*_c_code` functions in `theano.compile.ops` that would be better implemented using `functools.singledispatch`. There are probably a few more of those in other modules, too.
Closes #922. As per @brandonwillard's [comment](https://github.com/aesara-devs/aesara/issues/922#issuecomment-1108901650), I renamed `broadcastable` to `static_shape`, incorporating the other suggested minor edits. I took inspiration from [lines 773 to 777](https://github.com/aesara-devs/aesara/blob/main/aesara/tensor/subtensor.py#L773-L777) from `Subtensor.infer_shape` for shape inference....
As per #909, `environment.yml` does not work on ARM Macs because of `MKL`. We can create another environment file, `environment-arm.yml`, with an alternate `BLAS` specification. This file may also be...
This block returns only 3 values instead of the expected 4 ```python import aesara import aesara.tensor as at j = at.constant(0, dtype="int64") k = at.constant([0], dtype="int64") # Indexing with unused...
We need a consistent documentation format/layout/style across the `aesara-devs` projects, and [AePPL's](https://aeppl.readthedocs.io/en/latest/index.html) serves as a better template than this repo, so let's update this Sphinx setup to match AePPL's.