Created
July 11, 2018 15:11
-
-
Save currymj/70ada28a935e4ed5342c368cccf0503b to your computer and use it in GitHub Desktop.
example of bc_model with lag parameter failing for turing inference
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using DifferentialEquations | |
using DiffEqBayes | |
using Distributions | |
const p0 = 0.2; const q0 = 0.3; const v0 = 1; const d0 = 5 | |
const p1 = 0.2; const q1 = 0.3; const v1 = 1; const d1 = 1 | |
const d2 = 1; const beta0 = 1; const beta1 = 1; #const tau = 1 | |
function bc_model(du,u,h,p,t) | |
du[1] = (v0/(1+beta0*(h(p, t-p[1])[3]^2))) * (p0 - q0)*u[1] - d0*u[1] | |
du[2] = (v0/(1+beta0*(h(p, t-p[1])[3]^2))) * (1 - p0 + q0)*u[1] + | |
(v1/(1+beta1*(h(p, t-p[1])[3]^2))) * (p1 - q1)*u[2] - d1*u[2] | |
du[3] = (v1/(1+beta1*(h(p, t-p[1])[3]^2))) * (1 - p1 + q1)*u[2] - d2*u[3] | |
end | |
h(p, t) = ones(3) | |
tspan = (0.0,10.0) | |
u0 = [1.0,1.0,1.0] | |
prob = DDEProblem(bc_model,u0,h,tspan, [1.0]) | |
alg = MethodOfSteps(RK4()) | |
sol = solve(prob,alg) | |
t_obs = linspace(0.0, 10.0, 1000) | |
randomized = VectorOfArray([sol(t_obs[i]) + 0.01*randn(3) for i=1:length(t_obs)]) | |
data = convert(Array, randomized) | |
turing_result = turing_inference(prob, MethodOfSteps(RK4()), t_obs, data, [Gamma(1.0, 1.0)]; num_samples=500) |
[Turing] looking for good initial eps...
ERROR: TrackedArrays do not support setindex!
Stacktrace:
[1] fill!(::ReverseDiff.TrackedArray{Float64,Float64,1,Array{Float64,1},Array{Float64,1}}, ::ReverseDiff.TrackedReal{Float64,Float64,ReverseDiff.TrackedArray{Float64,Float64,1,Array{Float64,1},Array{Float64,1}}}) at ./multidimensional.jl:843
[2] ode_determine_initdt(::Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}, ::ReverseDiff.TrackedReal{Float64,Float64,Void}, ::ReverseDiff.TrackedReal{Float64,Float64,Void}, ::Int64, ::ReverseDiff.TrackedReal{Float64,Float64,Void}, ::ReverseDiff.TrackedReal{Float64,Float64,Void}, ::DiffEqBase.#ODE_DEFAULT_NORM, ::DiffEqBase.ODEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},DelayDiffEq.##37#43{DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}},Void,Void,UniformScaling{Int64},DiffEqBase.StandardODEProblem}, ::DelayDiffEq.DDEIntegrator{OrdinaryDiffEq.Tsit5,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},DiffEqBase.ODESolution{ReverseDiff.TrackedReal{Float64,Float64,Void},2,Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},Void,Void,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},1},DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}},OrdinaryDiffEq.Tsit5,OrdinaryDiffEq.InterpolationData{DelayDiffEq.##35#41{DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}},Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},1},OrdinaryDiffEq.Tsit5Cache{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},OrdinaryDiffEq.Tsit5ConstantCache{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void}}}}},DelayDiffEq.##37#43{DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}},Void,OrdinaryDiffEq.Tsit5Cache{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},OrdinaryDiffEq.Tsit5ConstantCache{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void}}},OrdinaryDiffEq.ODEIntegrator{OrdinaryDiffEq.Tsit5,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},DiffEqBase.ODESolution{ReverseDiff.TrackedReal{Float64,Float64,Void},2,Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},Void,Void,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},1},DiffEqBase.ODEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},#bc_model,Void,Void,UniformScaling{Int64},DiffEqBase.StandardODEProblem},OrdinaryDiffEq.Tsit5,OrdinaryDiffEq.InterpolationData{#bc_model,Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},1},OrdinaryDiffEq.Tsit5Cache{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},OrdinaryDiffEq.Tsit5ConstantCache{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void}}}}},#bc_model,Void,OrdinaryDiffEq.Tsit5Cache{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},OrdinaryDiffEq.Tsit5ConstantCache{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void}}},OrdinaryDiffEq.DEOptions{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},DiffEqBase.#ODE_DEFAULT_NORM,DiffEqBase.CallbackSet{Tuple{},Tuple{}},DiffEqBase.#ODE_DEFAULT_ISOUTOFDOMAIN,DiffEqBase.#ODE_DEFAULT_PROG_MESSAGE,DiffEqBase.#ODE_DEFAULT_UNSTABLE_CHECK,DataStructures.BinaryHeap{ReverseDiff.TrackedReal{Float64,Float64,Void},DataStructures.LessThan},DataStructures.BinaryHeap{ReverseDiff.TrackedReal{Float64,Float64,Void},DataStructures.LessThan},Void,Void,Int64,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}},DiffEqBase.#ODE_DEFAULT_NORM,OrdinaryDiffEq.DEOptions{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},DiffEqBase.#ODE_DEFAULT_NORM,DiffEqBase.CallbackSet{Tuple{},Tuple{}},DiffEqBase.#ODE_DEFAULT_ISOUTOFDOMAIN,DiffEqBase.#ODE_DEFAULT_PROG_MESSAGE,DiffEqBase.#ODE_DEFAULT_UNSTABLE_CHECK,DataStructures.BinaryHeap{ReverseDiff.TrackedReal{Float64,Float64,Void},DataStructures.LessThan},DataStructures.BinaryHeap{DelayDiffEq.Discontinuity{ReverseDiff.TrackedReal{Float64,Float64,Void}},DataStructures.LessThan},Void,Void,Int64,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{DelayDiffEq.Discontinuity{ReverseDiff.TrackedReal{Float64,Float64,Void}},1}},DataStructures.BinaryHeap{ReverseDiff.TrackedReal{Float64,Float64,Void},DataStructures.LessThan},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}}) at /home/curry/.julia/v0.6/OrdinaryDiffEq/src/initdt.jl:21
[3] auto_dt_reset!(::DelayDiffEq.DDEIntegrator{OrdinaryDiffEq.Tsit5,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},DiffEqBase.ODESolution{ReverseDiff.TrackedReal{Float64,Float64,Void},2,Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},Void,Void,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},1},DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}},OrdinaryDiffEq.Tsit5,OrdinaryDiffEq.InterpolationData{DelayDiffEq.##35#41{DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}},Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},1},OrdinaryDiffEq.Tsit5Cache{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},OrdinaryDiffEq.Tsit5ConstantCache{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void}}}}},DelayDiffEq.##37#43{DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}},Void,OrdinaryDiffEq.Tsit5Cache{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},OrdinaryDiffEq.Tsit5ConstantCache{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void}}},OrdinaryDiffEq.ODEIntegrator{OrdinaryDiffEq.Tsit5,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},DiffEqBase.ODESolution{ReverseDiff.TrackedReal{Float64,Float64,Void},2,Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},Void,Void,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},1},DiffEqBase.ODEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},#bc_model,Void,Void,UniformScaling{Int64},DiffEqBase.StandardODEProblem},OrdinaryDiffEq.Tsit5,OrdinaryDiffEq.InterpolationData{#bc_model,Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1},1},OrdinaryDiffEq.Tsit5Cache{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},OrdinaryDiffEq.Tsit5ConstantCache{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void}}}}},#bc_model,Void,OrdinaryDiffEq.Tsit5Cache{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},OrdinaryDiffEq.Tsit5ConstantCache{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void}}},OrdinaryDiffEq.DEOptions{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},DiffEqBase.#ODE_DEFAULT_NORM,DiffEqBase.CallbackSet{Tuple{},Tuple{}},DiffEqBase.#ODE_DEFAULT_ISOUTOFDOMAIN,DiffEqBase.#ODE_DEFAULT_PROG_MESSAGE,DiffEqBase.#ODE_DEFAULT_UNSTABLE_CHECK,DataStructures.BinaryHeap{ReverseDiff.TrackedReal{Float64,Float64,Void},DataStructures.LessThan},DataStructures.BinaryHeap{ReverseDiff.TrackedReal{Float64,Float64,Void},DataStructures.LessThan},Void,Void,Int64,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}},DiffEqBase.#ODE_DEFAULT_NORM,OrdinaryDiffEq.DEOptions{ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},ReverseDiff.TrackedReal{Float64,Float64,Void},DiffEqBase.#ODE_DEFAULT_NORM,DiffEqBase.CallbackSet{Tuple{},Tuple{}},DiffEqBase.#ODE_DEFAULT_ISOUTOFDOMAIN,DiffEqBase.#ODE_DEFAULT_PROG_MESSAGE,DiffEqBase.#ODE_DEFAULT_UNSTABLE_CHECK,DataStructures.BinaryHeap{ReverseDiff.TrackedReal{Float64,Float64,Void},DataStructures.LessThan},DataStructures.BinaryHeap{DelayDiffEq.Discontinuity{ReverseDiff.TrackedReal{Float64,Float64,Void}},DataStructures.LessThan},Void,Void,Int64,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{DelayDiffEq.Discontinuity{ReverseDiff.TrackedReal{Float64,Float64,Void}},1}},DataStructures.BinaryHeap{ReverseDiff.TrackedReal{Float64,Float64,Void},DataStructures.LessThan},Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}}) at /home/curry/.julia/v0.6/DelayDiffEq/src/integrator_interface.jl:412
[4] #init#34(::Array{DelayDiffEq.Discontinuity{ReverseDiff.TrackedReal{Float64,Float64,Void}},1}, ::ReverseDiff.TrackedReal{Float64,Float64,Void}, ::ReverseDiff.TrackedReal{Float64,Float64,Void}, ::StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}, ::Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}, ::Void, ::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::Int64, ::ReverseDiff.TrackedReal{Float64,Float64,Void}, ::Int64, ::Int64, ::Bool, ::Bool, ::Void, ::Array{Any,1}, ::DiffEqBase.#init, ::DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}, ::DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false}, ::Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1}, ::Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}, ::Array{Any,1}) at /home/curry/.julia/v0.6/DelayDiffEq/src/solve.jl:254
[5] (::DiffEqBase.#kw##init)(::Array{Any,1}, ::DiffEqBase.#init, ::DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}, ::DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false}, ::Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1}, ::Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}, ::Array{Any,1}) at ./<missing>:0
[6] #solve#51(::Array{Any,1}, ::Function, ::DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}, ::DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false}, ::Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1}, ::Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}, ::Array{Any,1}) at /home/curry/.julia/v0.6/DelayDiffEq/src/solve.jl:361
[7] (::DiffEqBase.#kw##solve)(::Array{Any,1}, ::DiffEqBase.#solve, ::DiffEqBase.DDEProblem{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},ReverseDiff.TrackedReal{Float64,Float64,Void},Array{Int64,1},Array{Any,1},true,Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},Void,#bc_model,#h,Void,UniformScaling{Int64}}, ::DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false}, ::Array{Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1},1}, ::Array{ReverseDiff.TrackedReal{Float64,Float64,Void},1}, ::Array{Any,1}) at ./<missing>:0 (repeats 2 times)
[8] (::DiffEqBayes.#bif#5{Array{Float64,2},Array{Any,1},DiffEqBase.DDEProblem{Array{Float64,1},Float64,Array{Int64,1},Array{Any,1},true,Array{Float64,1},Void,#bc_model,#h,Void,UniformScaling{Int64}},DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Distributions.Gamma{Float64},1}})(::Turing.VarReplay.VarInfo, ::Turing.Sampler{Turing.NUTS}, ::Array{Float64,2}) at /home/curry/.julia/v0.6/DiffEqBayes/src/turing_inference.jl:25
[9] (::DiffEqBayes.#bif#5{Array{Float64,2},Array{Any,1},DiffEqBase.DDEProblem{Array{Float64,1},Float64,Array{Int64,1},Array{Any,1},true,Array{Float64,1},Void,#bc_model,#h,Void,UniformScaling{Int64}},DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Distributions.Gamma{Float64},1}})(::Turing.VarReplay.VarInfo, ::Turing.Sampler{Turing.NUTS}) at /home/curry/.julia/v0.6/DiffEqBayes/src/turing_inference.jl:4
[10] runmodel(::Function, ::Turing.VarReplay.VarInfo, ::Turing.Sampler{Turing.NUTS}) at /home/curry/.julia/v0.6/Turing/src/samplers/support/hmc_core.jl:98
[11] (::Turing.#f_r#88{Turing.VarReplay.VarInfo,DiffEqBayes.#bif#5{Array{Float64,2},Array{Any,1},DiffEqBase.DDEProblem{Array{Float64,1},Float64,Array{Int64,1},Array{Any,1},true,Array{Float64,1},Void,#bc_model,#h,Void,UniformScaling{Int64}},DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Distributions.Gamma{Float64},1}},Turing.Sampler{Turing.NUTS}})(::ReverseDiff.TrackedArray{Float64,Float64,1,Array{Float64,1},Array{Float64,1}}) at /home/curry/.julia/v0.6/Turing/src/core/ad.jl:118
[12] Type at /home/curry/.julia/v0.6/ReverseDiff/src/api/tape.jl:199 [inlined]
[13] ReverseDiff.GradientTape(::Function, ::Array{Float64,1}) at /home/curry/.julia/v0.6/ReverseDiff/src/api/tape.jl:198
[14] gradient_r(::Array{Float64,1}, ::Turing.VarReplay.VarInfo, ::Function, ::Turing.Sampler{Turing.NUTS}) at /home/curry/.julia/v0.6/Turing/src/core/ad.jl:120
[15] (::Turing.#grad_func#57{Turing.VarReplay.VarInfo,Turing.Sampler{Turing.NUTS},DiffEqBayes.#bif#5{Array{Float64,2},Array{Any,1},DiffEqBase.DDEProblem{Array{Float64,1},Float64,Array{Int64,1},Array{Any,1},true,Array{Float64,1},Void,#bc_model,#h,Void,UniformScaling{Int64}},DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Distributions.Gamma{Float64},1}}})(::Array{Float64,1}) at /home/curry/.julia/v0.6/Turing/src/samplers/support/hmc_core.jl:16
[16] #_leapfrog#61(::Turing.#rev_func#59{Turing.VarReplay.VarInfo,Turing.Sampler{Turing.NUTS}}, ::Turing.#log_func#60{Turing.Sampler{Turing.NUTS}}, ::Function, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Turing.#grad_func#57{Turing.VarReplay.VarInfo,Turing.Sampler{Turing.NUTS},DiffEqBayes.#bif#5{Array{Float64,2},Array{Any,1},DiffEqBase.DDEProblem{Array{Float64,1},Float64,Array{Int64,1},Array{Any,1},true,Array{Float64,1},Void,#bc_model,#h,Void,UniformScaling{Int64}},DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Distributions.Gamma{Float64},1}}}) at /home/curry/.julia/v0.6/Turing/src/samplers/support/hmc_core.jl:136
[17] (::Turing.#kw##_leapfrog)(::Array{Any,1}, ::Turing.#_leapfrog, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Function) at ./<missing>:0
[18] leapfrog(::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Function, ::Turing.VarReplay.VarInfo, ::Turing.Sampler{Turing.NUTS}) at /home/curry/.julia/v0.6/Turing/src/samplers/support/hmc_core.jl:129
[19] find_good_eps(::Function, ::Turing.VarReplay.VarInfo, ::Turing.Sampler{Turing.NUTS}) at /home/curry/.julia/v0.6/Turing/src/samplers/support/hmc_core.jl:216
[20] step(::Function, ::Turing.Sampler{Turing.NUTS}, ::Turing.VarReplay.VarInfo, ::Bool) at /home/curry/.julia/v0.6/Turing/src/samplers/nuts.jl:53
[21] macro expansion at ./util.jl:293 [inlined]
[22] #sample#72(::Int64, ::Bool, ::Void, ::Int64, ::Stan.Adapt, ::Function, ::Function, ::Turing.NUTS) at /home/curry/.julia/v0.6/Turing/src/samplers/hmc.jl:126
[23] sample(::Function, ::Turing.NUTS) at /home/curry/.julia/v0.6/Turing/src/samplers/hmc.jl:86
[24] #turing_inference#4 at /home/curry/.julia/v0.6/DiffEqBayes/src/turing_inference.jl:45 [inlined]
[25] (::DiffEqBayes.#kw##turing_inference)(::Array{Any,1}, ::DiffEqBayes.#turing_inference, ::DiffEqBase.DDEProblem{Array{Float64,1},Float64,Array{Int64,1},Array{Any,1},true,Array{Float64,1},Void,#bc_model,#h,Void,UniformScaling{Int64}}, ::DelayDiffEq.MethodOfSteps{OrdinaryDiffEq.Tsit5,Void,Void,Void,false}, ::StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}, ::Array{Float64,2}, ::Array{Distributions.Gamma{Float64},1}) at ./<missing>:0
[26] eval(::Module, ::Any) at ./boot.jl:235
Main> Pkg.status("DiffEqBayes")
- DiffEqBayes 0.6.0
Main> Pkg.status("DelayDiffEq")
- DelayDiffEq 3.6.0 master
Main> Pkg.status("DifferentialEquations")
- DifferentialEquations 4.5.0
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
note: this also fails if I replace one of the other constants, like p0, with a value from the
p
array, and try to do inference on that instead.