Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move the DefaultTransform logic to AeMCMC #201

Open
rlouf opened this issue Nov 8, 2022 · 2 comments
Open

Move the DefaultTransform logic to AeMCMC #201

rlouf opened this issue Nov 8, 2022 · 2 comments
Labels
graph rewriting Involves the implementation of rewrites to Aesara graphs rv-transforms Involves transforms applied to random variables

Comments

@rlouf
Copy link
Member

rlouf commented Nov 8, 2022

The transformations that should be applied are sampler-specific, so automation should not happen in AePPL.

@rlouf rlouf added graph rewriting Involves the implementation of rewrites to Aesara graphs rv-transforms Involves transforms applied to random variables labels Nov 8, 2022
@brandonwillard
Copy link
Member

Is the basic idea that we should generate log-probabilities with AePPL and apply the transforms to those graphs using AeMCMC, instead of doing all that together in AePPL?

@rlouf
Copy link
Member Author

rlouf commented Nov 9, 2022

Yes. AeMCMC would transform the graph and specify the variables to condition on. But that might only make sense when AePPL is able to condition on transformed variables e.g. at.exp(x_rv) directly, which it should be able to do regardless.

It would make sense to eventually have a separate library that contains the rewrite engine based on miniKanren and the mathematical relations that both AePPL and AeMCMC need to respectively build a logprob graph and build a sampler graph.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
graph rewriting Involves the implementation of rewrites to Aesara graphs rv-transforms Involves transforms applied to random variables
Projects
None yet
Development

No branches or pull requests

2 participants