Brandon T. Willard

Results 202 issues of Brandon T. Willard

It might be useful to have an `Op` that performs a function similar to `RandomVariable`'s `size` argument (i.e. "broadcasts" a sampling operation). Its utility comes from being able to consistently...

enhancement
help wanted
graph rewriting
random variables
Op implementation

Our current rewrites, `aesara.tensor.random.opt.local_subtensor_rv_lift` and `local_dimshuffle_rv_lift` do not support multivariate `RandomVariable`s. This is in part due to a fundamental restriction involving the way inputs are mapped to support dimensions (e.g....

enhancement
help wanted
graph rewriting
random variables

The rewrites `aesara.tensor.random.opt.local_subtensor_rv_lift` and `local_dimshuffle_rv_lift` prevent themselves from being applied to `RandomVariable` nodes that have more than one client (see #209); however, in some situations (e.g. https://github.com/aesara-devs/aeppl/issues/150), the underlying concerns...

enhancement
help wanted
graph rewriting
random variables

We currently have only the most basic lift optimizations for `*Subtensor`s applied to unary `Op`s, but we could/should have many more. The following illustrates the current lifting alongside one unimplemented...

enhancement
important
graph rewriting
performance concern

Some of the optimizations in `aesara.sandbox.linalg.ops` could be added as default optimizations (e.g. `inv_as_solve`). These optimizations might need more/better tests before we do that, though. These optimizations have been changed...

enhancement
help wanted
important
graph rewriting
tensor algebra

When `debugprint` prints inner-graph having nodes with multiple outputs, it prints a copy of same inner-graph for each output. This make `debugprint`'s output obnoxious when the inner-graphs are large and/or...

enhancement
help wanted
tooling

Looking at the codebase, it doesn't seem like we use the `mkl-service` package for anything other than two `mkl.get_version_string()` calls. If there's another way to get the version string, or...

enhancement
help wanted
question
C-backend
backend compatibility

We can improve the display of `debugprint` by using the │,└, ─, ├, and possibly ┬ characters instead.

enhancement
good first issue
help wanted
tooling

Some optimizations perform their own implicit canonicalizations through complicated condition-checking logic; these optimizations need to be rewritten and new canonicalizations added. For example, `aesara.tensor.math_opt.local_log1p` has logic for both `log(add(1, x))`...

help wanted
important
graph rewriting
refactor

This PR enables `mypy` checking for `aesara.tensor.basic_opt` and makes some updates to `ShapeFeature` to simplify its typing.

enhancement
typing