@@ -34,8 +34,8 @@ function Optim.optimize(
3434 options:: Optim.Options = Optim. Options ();
3535 kwargs... ,
3636)
37- ctx = Optimisation . OptimizationContext ( DynamicPPL. LikelihoodContext ( ))
38- f = Optimisation. OptimLogDensity (model, ctx )
37+ vi = DynamicPPL . setaccs!! ( VarInfo (model), ( DynamicPPL. LogLikelihoodAccumulator (), ))
38+ f = Optimisation. OptimLogDensity (model, vi )
3939 init_vals = DynamicPPL. getparams (f. ldf)
4040 optimizer = Optim. LBFGS ()
4141 return _mle_optimize (model, init_vals, optimizer, options; kwargs... )
@@ -57,8 +57,8 @@ function Optim.optimize(
5757 options:: Optim.Options = Optim. Options ();
5858 kwargs... ,
5959)
60- ctx = Optimisation . OptimizationContext ( DynamicPPL. LikelihoodContext ( ))
61- f = Optimisation. OptimLogDensity (model, ctx )
60+ vi = DynamicPPL . setaccs!! ( VarInfo (model), ( DynamicPPL. LogLikelihoodAccumulator (), ))
61+ f = Optimisation. OptimLogDensity (model, vi )
6262 init_vals = DynamicPPL. getparams (f. ldf)
6363 return _mle_optimize (model, init_vals, optimizer, options; kwargs... )
6464end
@@ -74,8 +74,9 @@ function Optim.optimize(
7474end
7575
7676function _mle_optimize (model:: DynamicPPL.Model , args... ; kwargs... )
77- ctx = Optimisation. OptimizationContext (DynamicPPL. LikelihoodContext ())
78- return _optimize (Optimisation. OptimLogDensity (model, ctx), args... ; kwargs... )
77+ vi = DynamicPPL. setaccs!! (VarInfo (model), (DynamicPPL. LogLikelihoodAccumulator (),))
78+ f = Optimisation. OptimLogDensity (model, vi)
79+ return _optimize (f, args... ; kwargs... )
7980end
8081
8182"""
@@ -104,8 +105,8 @@ function Optim.optimize(
104105 options:: Optim.Options = Optim. Options ();
105106 kwargs... ,
106107)
107- ctx = Optimisation . OptimizationContext ( DynamicPPL. DefaultContext ( ))
108- f = Optimisation. OptimLogDensity (model, ctx )
108+ vi = DynamicPPL . setaccs!! ( VarInfo (model), ( LogPriorWithoutJacobianAccumulator (), DynamicPPL. LogLikelihoodAccumulator (), ))
109+ f = Optimisation. OptimLogDensity (model, vi )
109110 init_vals = DynamicPPL. getparams (f. ldf)
110111 optimizer = Optim. LBFGS ()
111112 return _map_optimize (model, init_vals, optimizer, options; kwargs... )
@@ -127,8 +128,8 @@ function Optim.optimize(
127128 options:: Optim.Options = Optim. Options ();
128129 kwargs... ,
129130)
130- ctx = Optimisation . OptimizationContext ( DynamicPPL. DefaultContext ( ))
131- f = Optimisation. OptimLogDensity (model, ctx )
131+ vi = DynamicPPL . setaccs!! ( VarInfo (model), ( LogPriorWithoutJacobianAccumulator (), DynamicPPL. LogLikelihoodAccumulator (), ))
132+ f = Optimisation. OptimLogDensity (model, vi )
132133 init_vals = DynamicPPL. getparams (f. ldf)
133134 return _map_optimize (model, init_vals, optimizer, options; kwargs... )
134135end
@@ -144,9 +145,11 @@ function Optim.optimize(
144145end
145146
146147function _map_optimize (model:: DynamicPPL.Model , args... ; kwargs... )
147- ctx = Optimisation. OptimizationContext (DynamicPPL. DefaultContext ())
148- return _optimize (Optimisation. OptimLogDensity (model, ctx), args... ; kwargs... )
148+ vi = DynamicPPL. setaccs!! (VarInfo (model), (LogPriorWithoutJacobianAccumulator (), DynamicPPL. LogLikelihoodAccumulator (),))
149+ f = Optimisation. OptimLogDensity (model, vi)
150+ return _optimize (f, args... ; kwargs... )
149151end
152+
150153"""
151154 _optimize(f::OptimLogDensity, optimizer=Optim.LBFGS(), args...; kwargs...)
152155
@@ -166,7 +169,7 @@ function _optimize(
166169 # whether initialisation is really necessary at all
167170 vi = DynamicPPL. unflatten (f. ldf. varinfo, init_vals)
168171 vi = DynamicPPL. link (vi, f. ldf. model)
169- f = Optimisation. OptimLogDensity (f. ldf. model, vi, f . ldf . context ; adtype= f. ldf. adtype)
172+ f = Optimisation. OptimLogDensity (f. ldf. model, vi; adtype= f. ldf. adtype)
170173 init_vals = DynamicPPL. getparams (f. ldf)
171174
172175 # Optimize!
@@ -183,9 +186,7 @@ function _optimize(
183186 # Get the optimum in unconstrained space. `getparams` does the invlinking.
184187 vi = f. ldf. varinfo
185188 vi_optimum = DynamicPPL. unflatten (vi, M. minimizer)
186- logdensity_optimum = Optimisation. OptimLogDensity (
187- f. ldf. model, vi_optimum, f. ldf. context
188- )
189+ logdensity_optimum = Optimisation. OptimLogDensity (f. ldf. model, vi_optimum; adtype= f. ldf. adtype)
189190 vns_vals_iter = Turing. Inference. getparams (f. ldf. model, vi_optimum)
190191 varnames = map (Symbol ∘ first, vns_vals_iter)
191192 vals = map (last, vns_vals_iter)
0 commit comments