Skip to content

Commit

Permalink
bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
cscherrer committed Jul 15, 2021
1 parent da702e2 commit 3e3a771
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/SampleChainsDynamicHMC.jl
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ function DynamicHMCChain(t::TransformVariables.TransformTuple, Q::DynamicHMC.Eva
meta = steps
transform = t

return DynamicHMCChain{T}(samples, logq, info, meta, Q, transform)
return DynamicHMCChain{T}(samples, logq, info, meta, zeroarr(Q), transform)
end

TupleVectors.summarize(ch::DynamicHMCChain) = summarize(samples(ch))
Expand All @@ -51,7 +51,9 @@ function SampleChains.pushsample!(chain::DynamicHMCChain, Q::DynamicHMC.Evaluate
end

function SampleChains.step!(chain::DynamicHMCChain)
Q, tree_stats = DynamicHMC.mcmc_next_step(getfield(chain, :meta), getfield(chain, :state))
Q, tree_stats = DynamicHMC.mcmc_next_step(getfield(chain, :meta), getfield(chain, :state)[])
getfield(chain, :state)[] = Q
return Q, tree_stats
end

@concrete struct DynamicHMCConfig <: ChainConfig{DynamicHMCChain}
Expand Down Expand Up @@ -156,4 +158,11 @@ function SampleChains.sample!(chain::DynamicHMCChain, n::Int=1000)
return chain
end

# I have no idea if this makes sense. But it's kind of cool so I wanted to try it
function zeroarr(x::T) where {T}
a = Array{T,0}(undef)
a[] = x
return a
end

end

0 comments on commit 3e3a771

Please sign in to comment.