@@ -28,6 +28,10 @@ struct OptimizationContext{C<:AbstractContext} <: AbstractContext
2828 context:: C
2929end
3030
31+ DynamicPPL. NodeTrait (:: OptimizationContext ) = DynamicPPL. IsParent ()
32+ DynamicPPL. childcontext (context:: OptimizationContext ) = context. context
33+ DynamicPPL. setchildcontext (:: OptimizationContext , child) = OptimizationContext (child)
34+
3135# assume
3236function DynamicPPL. tilde_assume (rng:: Random.AbstractRNG , ctx:: OptimizationContext , spl, dist, vn, inds, vi)
3337 return DynamicPPL. tilde_assume (ctx, spl, dist, vn, inds, vi)
@@ -43,16 +47,6 @@ function DynamicPPL.tilde_assume(ctx::OptimizationContext, spl, dist, vn, inds,
4347 return r, Distributions. logpdf (dist, r)
4448end
4549
46-
47- # observe
48- function DynamicPPL. tilde_observe (ctx:: OptimizationContext , sampler, right, left, vi)
49- return DynamicPPL. observe (right, left, vi)
50- end
51-
52- function DynamicPPL. tilde_observe (ctx:: OptimizationContext{<:PriorContext} , sampler, right, left, vi)
53- return 0
54- end
55-
5650# dot assume
5751function DynamicPPL. dot_tilde_assume (rng:: Random.AbstractRNG , ctx:: OptimizationContext , sampler, right, left, vns, inds, vi)
5852 return DynamicPPL. dot_tilde_assume (ctx, sampler, right, left, vns, inds, vi)
@@ -72,26 +66,6 @@ function DynamicPPL.dot_tilde_assume(ctx::OptimizationContext, sampler::SampleFr
7266 return r, loglikelihood (right, r)
7367end
7468
75- # dot observe
76- function DynamicPPL. dot_tilde_observe (ctx:: OptimizationContext{<:PriorContext} , sampler, right, left, vn, _, vi)
77- return 0
78- end
79-
80- function DynamicPPL. dot_tilde_observe (ctx:: OptimizationContext{<:PriorContext} , sampler, right, left, vi)
81- return 0
82- end
83-
84- function DynamicPPL. dot_tilde_observe (ctx:: OptimizationContext , sampler:: SampleFromPrior , right, left, vns, _, vi)
85- # Values should be set and we're using `SampleFromPrior`, hence the `rng` argument shouldn't
86- # affect anything.
87- r = DynamicPPL. get_and_set_val! (Random. GLOBAL_RNG, vi, vns, right, sampler)
88- return loglikelihood (right, r)
89- end
90-
91- function DynamicPPL. dot_tilde_observe (ctx:: OptimizationContext , sampler, dists, value, vi)
92- return sum (Distributions. logpdf .(dists, value))
93- end
94-
9569"""
9670 OptimLogDensity{M<:Model,C<:Context,V<:VarInfo}
9771
0 commit comments