Skip to content

Instantly share code, notes, and snippets.

@trappmartin
Created May 25, 2020 13:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save trappmartin/dc1f179ae01c6734d36cd2cf67bc4788 to your computer and use it in GitHub Desktop.
Save trappmartin/dc1f179ae01c6734d36cd2cf67bc4788 to your computer and use it in GitHub Desktop.
using DrWatson
@quickactivate "DynamicPPL_NeurIPS"
using Turing
using LinearAlgebra
using Random: seed!
seed!(1)
@model testmodel(p, O) = begin
x ~ Categorical(p)
if x == 1
y ~ MvNormal(zeros(length(O)), 1.0)
for i in 1:length(O)
O[i] ~ Normal(y[i] * norm(y), 1.0)
end
elseif x == 2
z ~ MvNormal(zeros(length(O)), 1.0)
for i in 1:length(O)
O[i] ~ Normal(z[i] * norm(z), 1.0)
end
else
k ~ MvNormal(zeros(length(O)), 1.0)
for i in 1:length(O)
O[i] ~ Normal(k[i] * norm(k), 1.0)
end
end
return O
end
# sample data from prior
N = 1000
p = [0.25, 0.5, 0.25]
O = testmodel(p, fill(missing, N))()
model = testmodel(p, O)
# inference
particles = 3
samples = 100
spec_runs = 5
chain = sample(model, PG(particles), samples, specialize_after = spec_runs)
# include("../infer_turing_dynamic.jl")
;
@trappmartin
Copy link
Author

ERROR: CTaskException:
Malformed dims
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] TArray{Union{Missing, Float64},1}(::Array{Union{Missing, Float64},1}) at /Users/martin/.julia/packages/Libtask/Q1ugc/src/tarray.jl:36
 [3] matchingvalue(::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}, ::DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}}, ::Array{Union{Missing, Float64},1}) at /Users/martin/.julia/packages/DynamicPPL/DFLPI/src/compiler.jl:381
 [4] ##evaluator#359(::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}, ::DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}}, ::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}, ::DynamicPPL.DefaultContext) at /Users/martin/.julia/packages/DynamicPPL/DFLPI/src/compiler.jl:354
 [5] evaluate_singlethreaded(::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}, ::DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}}, ::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}, ::DynamicPPL.DefaultContext) at /Users/martin/.julia/packages/DynamicPPL/DFLPI/src/model.jl:147
 [6] (::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}})(::DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}}, ::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}, ::DynamicPPL.DefaultContext) at /Users/martin/.julia/packages/DynamicPPL/DFLPI/src/model.jl:136
 [7] (::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}})(::DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}}, ::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}) at /Users/martin/.julia/packages/DynamicPPL/DFLPI/src/model.jl:135
 [8] (::Turing.Core.var"#3#4"{DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}},DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}},DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}}})() at /Users/martin/.julia/packages/Turing/L7gJI/src/core/container.jl:43
 [9] (::Libtask.var"#1#2"{Turing.Core.var"#3#4"{DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}},DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}},DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}}}})() at /Users/martin/.julia/packages/Libtask/Q1ugc/src/ctask.jl:65
Stacktrace:
 [1] consume(::CTask) at /Users/martin/.julia/packages/Libtask/Q1ugc/src/ctask.jl:214
 [2] consume at /Users/martin/.julia/packages/Turing/L7gJI/src/core/container.jl:57 [inlined]
 [3] reweight!(::Turing.Core.ParticleContainer{Turing.Core.Trace{DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}},DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}}}) at /Users/martin/.julia/packages/Turing/L7gJI/src/core/container.jl:252
 [4] sweep!(::Turing.Core.ParticleContainer{Turing.Core.Trace{DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}},DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}}}, ::Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}) at /Users/martin/.julia/packages/Turing/L7gJI/src/core/container.jl:307
 [5] sample_init!(::Random._GLOBAL_RNG, ::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}, ::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}, ::Int64; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/martin/.julia/packages/Turing/L7gJI/src/inference/AdvancedSMC.jl:138
 [6] sample_init! at /Users/martin/.julia/packages/Turing/L7gJI/src/inference/AdvancedSMC.jl:121 [inlined]
 [7] mcmcsample(::Random._GLOBAL_RNG, ::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}, ::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}, ::Int64; progress::Bool, progressname::String, callback::AbstractMCMC.var"#24#27", chain_type::Type{T} where T, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/martin/.julia/packages/AbstractMCMC/zZgUt/src/sample.jl:74
 [8] sample(::Random._GLOBAL_RNG, ::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}, ::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}, ::Int64; chain_type::Type{T} where T, resume_from::Nothing, progress::Bool, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/martin/.julia/packages/Turing/L7gJI/src/inference/Inference.jl:199
 [9] sample(::Random._GLOBAL_RNG, ::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}, ::DynamicPPL.Sampler{SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}},Turing.Inference.SMCState{DynamicPPL.MixedVarInfo{DynamicPPL.VarInfo{NamedTuple{(:x, :y, :z),Tuple{DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:x,Tuple{}},Int64},Array{DiscreteNonParametric{Int64,Float64,Base.OneTo{Int64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:x,Tuple{}},1},Array{Int64,1},Array{Int64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:y,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:y,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}},DynamicPPL.Metadata{Dict{DynamicPPL.VarName{:z,Tuple{}},Int64},Array{MvNormal{Float64,PDMats.ScalMat{Float64},Array{Float64,1}},1},Array{DynamicPPL.VarName{:z,Tuple{}},1},Array{Float64,1},Array{Float64,1},Array{Set{DynamicPPL.Selector},1}}}},Float64,DynamicPPL.StandardMode},DynamicPPL.VarInfo{DynamicPPL.Metadata{Dict{DynamicPPL.VarName,Int64},Array{Distribution,1},Array{DynamicPPL.VarName,1},Array{Real,1},Array{Real,1},Array{Set{DynamicPPL.Selector},1}},Float64,DynamicPPL.StandardMode}},Float64}}, ::Int64) at /Users/martin/.julia/packages/Turing/L7gJI/src/inference/Inference.jl:198
 [10] sample(::Random._GLOBAL_RNG, ::DynamicPPL.Model{var"###evaluator#359",(:p, :O),Tuple{Array{Float64,1},Array{Union{Missing, Float64},1}},(),DynamicPPL.ModelGen{var"###generator#360",(:p, :O),(),Tuple{}}}, ::SMC{(),Turing.Core.ResampleWithESSThreshold{typeof(Turing.Inference.resample_systematic),Float64}}, ::Int64; specialize_after::Int64, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/martin/.julia/packages/Turing/L7gJI/src/inference/Inference.jl:185
 [11] #sample#1 at /Users/martin/.julia/packages/Turing/L7gJI/src/inference/Inference.jl:174 [inlined]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment