@@ -31,14 +31,20 @@ DynamicPPL.initialsampler(sampler::Sampler{<:IS}) = sampler
31
31
function DynamicPPL. initialstep (
32
32
rng:: AbstractRNG , model:: Model , spl:: Sampler{<:IS} , vi:: AbstractVarInfo ; kwargs...
33
33
)
34
- return Transition (model, vi), nothing
34
+ # Need to manually construct the Transition here because we only
35
+ # want to use the likelihood.
36
+ xs = Turing. Inference. getparams (model, vi)
37
+ lp = DynamicPPL. getloglikelihood (vi)
38
+ return Transition (xs, lp, nothing ), nothing
35
39
end
36
40
37
41
function AbstractMCMC. step (
38
42
rng:: Random.AbstractRNG , model:: Model , spl:: Sampler{<:IS} , :: Nothing ; kwargs...
39
43
)
40
44
vi = VarInfo (rng, model, spl)
41
- return Transition (model, vi), nothing
45
+ xs = Turing. Inference. getparams (model, vi)
46
+ lp = DynamicPPL. getloglikelihood (vi)
47
+ return Transition (xs, lp, nothing ), nothing
42
48
end
43
49
44
50
# Calculate evidence.
@@ -53,5 +59,6 @@ function DynamicPPL.assume(rng, ::Sampler{<:IS}, dist::Distribution, vn::VarName
53
59
r = rand (rng, dist)
54
60
vi = push!! (vi, vn, r, dist)
55
61
end
56
- return r, 0 , vi
62
+ vi = accumulate_assume!! (vi, r, 0.0 , vn, dist)
63
+ return r, vi
57
64
end
0 commit comments