eb8680
eb8680
Currently, while Funsor makes heavy use of `multipledispatch` on parametric types, interpretations and Funsor terms are not compatible with static type-checkers like MyPy or even runtime type-checkers like [pytypes](https://github.com/Stewori/pytypes). It...
The biggest single issue blocking wider use of Funsor in Pyro and NumPyro right now is the incomplete coverage of distributions. At a high level, the goal is to be...
A number of `funsor.terms.Funsor` subclasses include custom metaclasses derived from `FunsorMeta` that only implement `__call__` and whose only purpose is to fill in default values of optional arguments and convert...
The changes proposed in #304 and the incorrect code path for `logaddexp` uncovered in #306 suggest adding more structure to the `funsor.ops` module. Possible changes: - [ ] To address...
### Generalizing tensor variable elimination to dynamic factor graphs - [x] #398 A version of `modified_partial_sum_product` that works for time lag 1, and tests that compare it to `partial_sum_product` applied...
~~Blocked by #370~~ There are a few places in Funsor where we use metaclasses that only implement an `__init__` method, e.g. `StatefulIntepretationMeta` added in #369. We should remove these at...
Motivated by @fehiepsi's work on `TraceMeanField_ELBO` in NumPyro https://github.com/pyro-ppl/numpyro/pull/748 and ongoing issues with the LDA example in Pyro. cc @fritzo @martinjankowiak It is common in Pyro to use mean-field variational...
In #346, motivated by work in Pyro on a Funsor-based Pyro backend, I added a generic `enumerate_support` method to `funsor.distribution.Distribution` which returns a `to_funsor`-ed version of the output of the...
#161 and related efforts #70 #177 will require additional advanced indexing functionality. - [x] #205 Implement `Slice` term that can be used instead of `arange` for affine indexing operations that...