Skip to content

Conversation

@penelopeysm
Copy link
Member

@penelopeysm penelopeysm commented Nov 14, 2025

The main change in DPPL 0.39 is OnlyAccsVarInfo and faster evaluation.

This PR uses fast evaluation in MCMC sampling where it can. MCMC sampling mostly works as can be seen from the tests.

There are a few outstanding issues:

(1) MCMCChains no longer stores an overall chain.logevidence field

The reason is because we now use the bundle_samples method in DynamicPPL, which has no way of reliably determining the log-evidence from the transition. If we wanted to fix this, we would have to add a getlogevidence function in AbstractMCMC.

I personally don't consider this a problem. The reason why log-evidence used to be stored was because chains did not provide enough information for people to calculate this themselves (specifically, chains only stored logp, not loglikelihood). Now that chn[:likelihood] contains the likelihood, it's trivial for people to calculate this themselves.

(2) Chains aren't consistent between :lp and :logjoint

Because I messed this up: TuringLang/DynamicPPL.jl#1140 So some samplers will have one and other samplers the other. This needs to be fixed upstream, but should be a very trivial patch.

(3)The optimisation interface hasn't been updated in this PR

I think we should merge or reject #2708 first.

@github-actions
Copy link
Contributor

Turing.jl documentation for PR #2715 is available at:
https://TuringLang.github.io/Turing.jl/previews/PR2715/

@penelopeysm penelopeysm changed the title DPPL 0.39 Update for DynamicPPL 0.39 Nov 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants