Closed
Description
using DynamicPPL
using Turing
@model function f()
m = Vector{Float64}(undef, 1)
m .~ Normal()
s ~ Normal()
return (; s=s, m=m)
end
model = f()
chain = sample(model, Prior(), 2)
DynamicPPL.generated_quantities(model, chain)
The call to generated_quantities
always returns the values of s
in the chain, as expected, but each time generated_quantities
is run, a new vector m
is generated.
julia> DynamicPPL.generated_quantities(model, chain)
2×1 Matrix{@NamedTuple{s::Float64, m::Vector{Float64}}}:
(s = 1.632189074395471, m = [0.8057272304035911])
(s = -0.8755799731449666, m = [-0.6282480660060888])
julia> DynamicPPL.generated_quantities(model, chain)
2×1 Matrix{@NamedTuple{s::Float64, m::Vector{Float64}}}:
(s = 1.632189074395471, m = [-0.9533966900128452])
(s = -0.8755799731449666, m = [-1.081695147997058])
julia> DynamicPPL.generated_quantities(model, chain)
2×1 Matrix{@NamedTuple{s::Float64, m::Vector{Float64}}}:
(s = 1.632189074395471, m = [-0.9870848372495151])
(s = -0.8755799731449666, m = [1.6715732215128585])
Metadata
Metadata
Assignees
Labels
No labels