-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Resurrect lazy Subs funsor (again) (#99)
* Sketch Monte Carlo interpretation of logaddexp reduction * Use AssociativeOp in patterns * Fix op pattern matcher * Try eager before monte_carlo * Drop ops.sample, ops.marginal * Sketch VAE example using monte carlo interpretation * Refactor, focusing on .sample() and .monte_carlo_logsumexp() methods * Fix vae example * Sketch Tensor.sample() (untested) * Fix cyclic import * Sketch Gaussian.sample() (untested) * Implement Delta.sample() * Sketch Expectation class * Sketch sampler implementations * Delete Expectation in favor of Integrate in a separate PR * Revert .sample() sketch * Update VAE example to use multi-output Functions * Fix reductions in VAE * Sketch support for multiple args in __getitem__ * Fix bugs in getitem_tensor_tensor * Add stronger tests for tensor getitem * Add support for string indexing * Simplify vae example using multi-getitem * Add stub for Integrate * Fix typo * Sketch monte_carlo registration of Gaussian-Gaussian things * Add stubs for Joint integration * Fix typos * Sketch support for multiple samples * Fix test usage of registry * Fix bugs in gaussian integral * Handle scale factors in Funsor.sample() * Use Integrate in test_samplers.py * Fix bug in Integrate; be less clever * Add implementations of gaussian-linear integrals * Add interpretation logging controlled by FUNSOR_DEBUG * Simplify debug printing * Fix lazy reduction for Joint.reduce() * Fix recursion bug * Get univariate Gaussian sampling to mostly work * Fix bug in Tensor.eager_reduce with nontrivial output * Fix output shape broadcasting in Tensor * Fix assert_close in test_samplers.py * Fix cholesky bugs * Fix bug in _trace_mm() * Fixes for examples/vae.py * Remove examples/vae.py * Add docstrings * Resurrect lazy Subs funsor (again) * Fix typo * Allow completely lazy eager_subs method
- Loading branch information
Showing
9 changed files
with
95 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.