-
Notifications
You must be signed in to change notification settings - Fork 225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Warning for BetaBinomial model #1701
Comments
According to the debugging output that you posted in https://discourse.julialang.org/t/help-with-turing-jl-betabinomial-argumenterror-betabinomial-the-condition-n-zero-n-zero-zero-is-not-satisfied/64929/6, it seems the error results from non-finite values ( Since you use ForwardDiff, can you check if the NaN-safe setting fixes it? E.g., you can use the NaN-safe branch (JuliaDiff/ForwardDiff.jl#451) by installing ForwardDiff with |
@devmotion: Thanks for the quick answer! advi = ADVI(10, 1000)
q = vi(model, advi); but still not with: map_estimate = optimize(model, MAP(), [0.1, 0.1, 0.01, 100]) I have added a small debug statement [ Info: (6, 152673, 8669401, Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(7.162863556540884,-0.3614415363041935,0.07248121590660006,6.945280851663119,7.128041630854146), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(404.2367598289501,0.3614415363041935,-0.07248121590660006,-6.945280851663119,402.2715817546368), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(0.24653857831298007,-0.0,0.18575730771639468,-0.0,-0.0), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(0.7514560852605676,0.1867698371854301,-0.0,-0.0,-0.0), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(0.017177132665658172,-0.0,-0.0,0.016882078779044553,-0.0), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(0.017410962843369245,-0.000878565549792724,0.0001761820181315127,0.016882078779044553,0.0))
[ Info: (1, 2042914, 7642688, Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(NaN,NaN,NaN,NaN,NaN), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(Inf,NaN,NaN,NaN,NaN), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(0.0,NaN,NaN,NaN,NaN), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(0.0,NaN,NaN,NaN,NaN), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(0.0,NaN,NaN,NaN,NaN), Dual{ForwardDiff.Tag{Turing.Core.var"#f#1"{DynamicPPL.TypedVarInfo{NamedTuple{(:q, :A, :c, :ϕ), Tuple{DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:q, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:q, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:A, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:A, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:c, Tuple{}}, Int64}, Vector{Beta{Float64}}, Vector{AbstractPPL.VarName{:c, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}, DynamicPPL.Metadata{Dict{AbstractPPL.VarName{:ϕ, Tuple{}}, Int64}, Vector{Exponential{Float64}}, Vector{AbstractPPL.VarName{:ϕ, Tuple{}}}, Vector{Float64}, Vector{Set{DynamicPPL.Selector}}}}}, Float64}, DynamicPPL.Model{typeof(betabin_model), (:z, :k, :N, :verbose), (:verbose,), (), Tuple{Vector{Int64}, Vector{Int64}, Vector{Int64}, Bool}, Tuple{Bool}, DynamicPPL.DefaultContext}, DynamicPPL.SampleFromPrior, Turing.OptimizationContext{DynamicPPL.DefaultContext}}, Float64}}(0.0,NaN,NaN,NaN,NaN))
ERROR: LoadError: ArgumentError: BetaBinomial: the condition n >= zero(n) && (α >= zero(α) && β >= zero(β)) is not satisfied.
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/Distributions/t65ji/src/utils.jl:6 [inlined]
[2] #BetaBinomial#42
@ ~/.julia/packages/Distributions/t65ji/src/univariate/discrete/betabinomial.jl:30 [inlined]
[3] BetaBinomial
@ ~/.julia/packages/Distributions/t65ji/src/univariate/discrete/betabinomial.jl:30 [inlined]
[ ... ]
[ ... ]
[ ... ]
[40] top-level scope
@ ~/work/julia_turing_error/turing_error.jl:43
in expression starting at /Users/christianmichelsen/work/julia_turing_error/turing_error.jl:43 |
Also, now I get the following warning whenever I activate the environment, but I guess this is just a ForwardDiff warning that goes away if I use the newest version of ForwardDiff (as I used to)? Warning: Error requiring `StaticArrays` from `ArrayInterface`
│ exception =
│ too many parameters for type
│ Stacktrace:
│ [1] top-level scope
│ @ ~/.julia/packages/ArrayInterface/kCLrX/src/ArrayInterface.jl:710
│ [2] eval
│ @ ./boot.jl:360 [inlined]
│ [3] eval
│ @ ~/.julia/packages/ArrayInterface/kCLrX/src/ArrayInterface.jl:1 [inlined]
│ [4] (::ArrayInterface.var"#60#87")()
│ @ ArrayInterface ~/.julia/packages/Requires/7Ncym/src/require.jl:99
│ [5] err(f::Any, listener::Module, modname::String)
│ @ Requires ~/.julia/packages/Requires/7Ncym/src/require.jl:47
│ [6] (::ArrayInterface.var"#59#86")()
│ @ ArrayInterface ~/.julia/packages/Requires/7Ncym/src/require.jl:98
│ [7] withpath(f::Any, path::String)
│ @ Requires ~/.julia/packages/Requires/7Ncym/src/require.jl:37
│ [8] (::ArrayInterface.var"#58#85")()
│ @ ArrayInterface ~/.julia/packages/Requires/7Ncym/src/require.jl:97
│ [9] #invokelatest#2
│ @ ./essentials.jl:708 [inlined]
│ [10] invokelatest
│ @ ./essentials.jl:706 [inlined]
│ [11] foreach(f::typeof(Base.invokelatest), itr::Vector{Function})
│ @ Base ./abstractarray.jl:2141
│ [12] loadpkg(pkg::Base.PkgId)
│ @ Requires ~/.julia/packages/Requires/7Ncym/src/require.jl:27
│ [13] #invokelatest#2
│ @ ./essentials.jl:708 [inlined]
│ [14] invokelatest
│ @ ./essentials.jl:706 [inlined]
│ [15] _tryrequire_from_serialized(modkey::Base.PkgId, build_id::UInt64, modpath::String)
│ @ Base ./loading.jl:715
│ [16] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
│ @ Base ./loading.jl:771
│ [17] _tryrequire_from_serialized(modkey::Base.PkgId, build_id::UInt64, modpath::String)
│ @ Base ./loading.jl:711
│ [18] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
│ @ Base ./loading.jl:771
│ [19] _tryrequire_from_serialized(modkey::Base.PkgId, build_id::UInt64, modpath::String)
│ @ Base ./loading.jl:711
│ [20] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
│ @ Base ./loading.jl:771
│ [21] _require(pkg::Base.PkgId)
│ @ Base ./loading.jl:1020
│ [22] require(uuidkey::Base.PkgId)
│ @ Base ./loading.jl:936
│ [23] require(into::Module, mod::Symbol)
│ @ Base ./loading.jl:923
│ [24] eval
│ @ ./boot.jl:360 [inlined]
│ [25] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
│ @ Base ./loading.jl:1116
│ [26] include_string(m::Module, txt::String, fname::String)
│ @ Base ./loading.jl:1126
│ [27] invokelatest(::Any, ::Any, ::Vararg{Any, N} where N; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
│ @ Base ./essentials.jl:708
│ [28] invokelatest(::Any, ::Any, ::Vararg{Any, N} where N)
│ @ Base ./essentials.jl:706
│ [29] inlineeval(m::Module, code::String, code_line::Int64, code_column::Int64, file::String; softscope::Bool)
│ @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.3.33/scripts/packages/VSCodeServer/src/eval.jl:201
│ [30] (::VSCodeServer.var"#58#62"{Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})()
│ @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.3.33/scripts/packages/VSCodeServer/src/eval.jl:153
│ [31] withpath(f::VSCodeServer.var"#58#62"{Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams}, path::String)
│ @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.3.33/scripts/packages/VSCodeServer/src/repl.jl:185
│ [32] (::VSCodeServer.var"#57#61"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})()
│ @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.3.33/scripts/packages/VSCodeServer/src/eval.jl:151
│ [33] hideprompt(f::VSCodeServer.var"#57#61"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})
│ @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.3.33/scripts/packages/VSCodeServer/src/repl.jl:36
│ [34] (::VSCodeServer.var"#56#60"{Bool, Bool, Bool, Module, String, Int64, Int64, String, VSCodeServer.ReplRunCodeRequestParams})()
│ @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.3.33/scripts/packages/VSCodeServer/src/eval.jl:122
│ [35] with_logstate(f::Function, logstate::Any)
│ @ Base.CoreLogging ./logging.jl:491
│ [36] with_logger
│ @ ./logging.jl:603 [inlined]
│ [37] (::VSCodeServer.var"#55#59"{VSCodeServer.ReplRunCodeRequestParams})()
│ @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.3.33/scripts/packages/VSCodeServer/src/eval.jl:191
│ [38] #invokelatest#2
│ @ ./essentials.jl:708 [inlined]
│ [39] invokelatest(::Any)
│ @ Base ./essentials.jl:706
│ [40] macro expansion
│ @ ~/.vscode/extensions/julialang.language-julia-1.3.33/scripts/packages/VSCodeServer/src/eval.jl:34 [inlined]
│ [41] (::VSCodeServer.var"#53#54")()
│ @ VSCodeServer ./task.jl:411
└ @ Requires ~/.julia/packages/Requires/7Ncym/src/require.jl:49 |
Regarding the last comment: yeah, there might be an issue with the branch and it might be a bit outdated. Hopefully, this (setting nansafe) will become easier soon without any custom installations, there's a PR to ForwardDiff that uses the Preferences stdlib for this configuration. |
Okay, that sounds good! Does Also, how to avoid being forced to use the NaN-safe setting for ForwardDiff? Should I clamp more of my parameters in the model? |
I use a BetaBinomial model in some research and sometimes run into a problem where I get a warning related to the BetaBinomial model. I have managed to come up a reproducible example.
I define the data and model and sample it using NUTS and it runs fine:
However, if I try to use vi, it fails:
ERROR: LoadError: ArgumentError: BetaBinomial: the condition n >= zero(n) && (α >= zero(α) && β >= zero(β)) is not satisfied.
I can also replicate the error when I try to simply optimize the MAP. This works fine:
but this fails:
ERROR: LoadError: ArgumentError: BetaBinomial: the condition n >= zero(n) && (α >= zero(α) && β >= zero(β)) is not satisfied.
I asked for help at the Julia Discourse earlier in the summer without any luck and was recommended to try asking for help here.
Thanks!
Cheers,
Christian
The text was updated successfully, but these errors were encountered: