-
Notifications
You must be signed in to change notification settings - Fork 19
Support Mixing AD Frameworks for LogDensityProblems
and the objective
#180
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
base: main
Are you sure you want to change the base?
Conversation
Very helpful clarification, @Red-Portal. I understand your motivation now.
IIRC, |
Yes, the new dependency is only |
@yebai Gentle nudge |
Yes, preferably we can remove dependencies on I'd also prefer splitting this PR into two ones as @penelopeysm suggested in Slack. I understand that it is a bit demanding, but it is very useful to gradually improve the quality of AdvancedVI. |
Hi @yebai , thanks for the comments.
That would be doable by calling
In this PR's case, there are no file renaming/moving. I could split the doc updates to a different PR if that's what you meant. |
Can you use
@penelopeysm's wrote on slack:
|
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR enables mixing AD frameworks for the target
LogDensityProblem
and differentiating through the variational objective. This is enabled by defining a customrrule
throughChainRulesCore
. As such, we are restricted to AD frameworks that support importingrrule
s. However, we still support directly differentiating throughLogDensityProblems.logdensity
if the targetLogDensityProblem
only has zeroth-order capability.This PR depends on #179