From 5b5da11dfcd7725dcf2afe705feff867a93e8b62 Mon Sep 17 00:00:00 2001 From: David Widmann Date: Fri, 30 Aug 2024 10:08:00 +0200 Subject: [PATCH] Remove unused code (#2312) --- src/mcmc/hmc.jl | 55 ------------------------------------------------- 1 file changed, 55 deletions(-) diff --git a/src/mcmc/hmc.jl b/src/mcmc/hmc.jl index f17bca2e7..29cc8348c 100644 --- a/src/mcmc/hmc.jl +++ b/src/mcmc/hmc.jl @@ -563,58 +563,3 @@ end function AHMCAdaptor(::Hamiltonian, ::AHMC.AbstractMetric; kwargs...) return AHMC.Adaptation.NoAdaptation() end - -########################## -# HMC State Constructors # -########################## - -function HMCState( - rng::AbstractRNG, - model::Model, - spl::Sampler{<:Hamiltonian}, - vi::AbstractVarInfo; - kwargs..., -) - # Link everything if needed. - waslinked = islinked(vi, spl) - if !waslinked - vi = link!!(vi, spl, model) - end - - # Get the initial log pdf and gradient functions. - ∂logπ∂θ = gen_∂logπ∂θ(vi, spl, model) - logπ = Turing.LogDensityFunction( - vi, - model, - DynamicPPL.SamplingContext(rng, spl, DynamicPPL.leafcontext(model.context)), - ) - - # Get the metric type. - metricT = getmetricT(spl.alg) - - # Create a Hamiltonian. - θ_init = Vector{Float64}(spl.state.vi[spl]) - metric = metricT(length(θ_init)) - h = AHMC.Hamiltonian(metric, logπ, ∂logπ∂θ) - - # Find good eps if not provided one - if iszero(spl.alg.ϵ) - ϵ = AHMC.find_good_stepsize(rng, h, θ_init) - @info "Found initial step size" ϵ - else - ϵ = spl.alg.ϵ - end - - # Generate a kernel. - kernel = make_ahmc_kernel(spl.alg, ϵ) - - # Generate a phasepoint. Replaced during sample_init! - h, t = AHMC.sample_init(rng, h, θ_init) # this also ensure AHMC has the same dim as θ. - - # Unlink everything, if it was indeed linked before. - if waslinked - vi = invlink!!(vi, spl, model) - end - - return HMCState(vi, 0, 0, kernel.τ, h, AHMCAdaptor(spl.alg, metric; ϵ=ϵ), t.z) -end