Skip to content

Instantly share code, notes, and snippets.

@currymj
Created July 11, 2018 15:11
Show Gist options
  • Save currymj/70ada28a935e4ed5342c368cccf0503b to your computer and use it in GitHub Desktop.
Save currymj/70ada28a935e4ed5342c368cccf0503b to your computer and use it in GitHub Desktop.
example of bc_model with lag parameter failing for turing inference
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)
@currymj
Copy link
Author

currymj commented Jul 11, 2018

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.

@currymj
Copy link
Author

currymj commented Jul 11, 2018

[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

@currymj
Copy link
Author

currymj commented Jul 11, 2018

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