-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
Hello,
It seems that when a variable is indexed as x[i, j], ParetoSmooth.jl is unable to parse the indices. Here are three MWEs:
Turing.@model function model(data)
μ ~ Normal()
for i in 1:size(data, 1)
for j in 1:size(data, 2)
data[i, j] ~ Normal(μ, 1)
end
end
end
data = randn(10, 10)
chain = sample(model(data), NUTS(), 1000)
psis_loo(model(data), chain)This returns the error:
`ERROR: ArgumentError: invalid base 10 digit ',' in "1, 2"`
Stacktrace:
[1] tryparse_internal(::Type{Int64}, s::SubString{String}, startpos::Int64, endpos::Int64, base_::Int64, raise::Bool)
@ Base .\parse.jl:143
[2] parse(::Type{Int64}, s::SubString{String}; base::Nothing)
@ Base .\parse.jl:254
[3] parse
@ .\parse.jl:253 [inlined]
[4] (::ParetoSmoothDynamicPPLExt.var"#ind_from_string#2")(x::String)
@ ParetoSmoothDynamicPPLExt C:\Users\yasir\.julia\packages\ParetoSmooth\ILEFB\ext\ParetoSmoothDynamicPPLExt.jl:40
[5] lt
@ .\ordering.jl:120 [inlined]
[6] _issorted
@ .\sort.jl:1430 [inlined]
[7] _sort!(v::Vector{…}, a::Base.Sort.StableCheckSorted{…}, o::Base.Order.By{…}, kw::@NamedTuple{…})
@ Base.Sort .\sort.jl:1352
[8] _sort!
@ .\sort.jl:770 [inlined]
[9] _sort!
@ .\sort.jl:721 [inlined]
[10] _sort!
@ .\sort.jl:792 [inlined]
[11] _sort!
@ .\sort.jl:737 [inlined]
[12] _sort!
@ .\sort.jl:676 [inlined]
[13] _sort!
@ .\sort.jl:554 [inlined]
[14] #sort!#32
@ .\sort.jl:1694 [inlined]
[15] sort!
@ .\sort.jl:1687 [inlined]
[16] #sort#33
@ .\sort.jl:1720 [inlined]
[17] pointwise_log_likelihoods(model::DynamicPPL.Model{…}, chains::Chains{…})
@ ParetoSmoothDynamicPPLExt C:\Users\yasir\.julia\packages\ParetoSmooth\ILEFB\ext\ParetoSmoothDynamicPPLExt.jl:42
[18] psis_loo(::DynamicPPL.Model{…}, ::Chains{…}; kwargs::@Kwargs{})
@ ParetoSmoothDynamicPPLExt C:\Users\yasir\.julia\packages\ParetoSmooth\ILEFB\ext\ParetoSmoothDynamicPPLExt.jl:65
[19] psis_loo(::DynamicPPL.Model{…}, ::Chains{…})
@ ParetoSmoothDynamicPPLExt C:\Users\yasir\.julia\packages\ParetoSmooth\ILEFB\ext\ParetoSmoothDynamicPPLExt.jl:64
[20] top-level scope
@ c:\Users\yasir\Desktop\brain_stuff\mice_timescale_variability2\scripts\figure3_turing_proto.jl:61
Some type information was truncated. Use `show(err)` to see complete types.Second example:
Turing.@model function model(data)
μ ~ Normal()
for i in 1:size(data, 1)
data[i, :] ~ MvNormal(ones(size(data, 2)) * μ, 1.0 * I)
end
end
data = randn(10, 10)
chain = sample(model(data), NUTS(), 1000)
psis_loo(model(data), chain)Fails with the same error message.
Third example:
Turing.@model function model(data)
μ ~ Normal()
for i in 1:size(data, 1)
data[i, :] .~ Normal(μ, 1)
end
end
data = randn(10, 10)
chain = sample(model(data), NUTS(), 1000)
psis_loo(model(data), chain)This one proceeds successfully.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels