Skip to content

Commit 71c8097

Browse files
committed
Transition
1 parent e41f58c commit 71c8097

File tree

1 file changed

+3
-15
lines changed

1 file changed

+3
-15
lines changed

src/contrib/inference/abstractmcmc.jl

+3-15
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,16 @@ struct TuringState{S,F}
33
logdensity::F
44
end
55

6-
struct TuringTransition{T,NT<:NamedTuple,F<:AbstractFloat}
7-
θ::T
8-
lp::F
9-
stat::NT
10-
end
11-
12-
function TuringTransition(vi::AbstractVarInfo, t)
13-
theta = tonamedtuple(vi)
14-
lp = getlogp(vi)
15-
return TuringTransition(theta, lp, getstats(t))
16-
end
17-
18-
metadata(t::TuringTransition) = merge((lp = t.lp,), t.stat)
19-
DynamicPPL.getlogp(t::TuringTransition) = t.lp
6+
metadata(t::Transition) = merge((lp = t.lp,), t.stat)
7+
DynamicPPL.getlogp(t::Transition) = t.lp
208

219
state_to_turing(f::DynamicPPL.LogDensityFunction, state) = TuringState(state, f)
2210
function transition_to_turing(f::DynamicPPL.LogDensityFunction, transition)
2311
θ = getparams(transition)
2412
varinfo = DynamicPPL.unflatten(f.varinfo, θ)
2513
# TODO: `deepcopy` is overkill; make more efficient.
2614
varinfo = DynamicPPL.invlink!!(deepcopy(varinfo), f.model)
27-
return TuringTransition(varinfo, transition)
15+
return Transition(varinfo, transition)
2816
end
2917

3018
# NOTE: Only thing that depends on the underlying sampler.

0 commit comments

Comments
 (0)