I am training the parameters of an epidemiology model via Flux. I am able to obtain gradients for the parameters and for a few epochs, the training works well. However, after some more epochs, the training freezes. Weirdly, the time of freezing depends on the random initialization, and for different random seeds, the training progresses for a different amount of epochs (10 - 60 epochs).
Do I understand below stacktrace correctly, that the freeze happened in .\boot.jl:479
or did some higher level function freeze and this is just when the interruption happened? What could possibly cause the freeze?
Running train.jl
from the scripts folder gives the following result on interruption:
...
Epoch 31 train loss = 59.319 η = 0.005 t = 173 milliseconds t_avg = 300 milliseconds
Epoch 32 train loss = 57.057 η = 0.005 t = 177 milliseconds t_avg = 296 milliseconds
Epoch 33 train loss = 54.895 η = 0.005 t = 180 milliseconds t_avg = 292 milliseconds
ERROR: LoadError: InterruptException:
Stacktrace:
[1] Array
@ .\boot.jl:479 [inlined]
[2] Array
@ .\boot.jl:487 [inlined]
[3] Array
@ .\boot.jl:494 [inlined]
[4] similar
@ .\abstractarray.jl:884 [inlined]
[5] similar
@ .\abstractarray.jl:883 [inlined]
[6] similar
@ .\broadcast.jl:212 [inlined]
[7] similar
@ .\broadcast.jl:211 [inlined]
[8] copy
@ .\broadcast.jl:898 [inlined]
[9] materialize
@ .\broadcast.jl:873 [inlined]
[10] f_ST_SuEIR(u::Matrix{Float64}, θ::Vector{Matrix{Float64}}, t::Float64, q::Vector{Matrix{Float64}})
@ MMDS C:\Users\colin\OneDrive-TUM\Code\Julia\MMDS.jl\src\ST_SuEIR.jl:20
[11] (::ST_SuEIR{Float64})(u::Matrix{Float64}, t::Float64)
@ MMDS C:\Users\colin\OneDrive-TUM\Code\Julia\MMDS.jl\src\AutoODE.jl:27
[12] (::MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}})(u::Matrix{Float64}, p::Vector{Float64}, t::Float64)
@ MMDS C:\Users\colin\OneDrive-TUM\Code\Julia\MMDS.jl\src\AutoODE.jl:99
[13] (::SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}})(::Matrix{Float64}, ::Vararg{Any})
@ SciMLBase C:\Users\colin\.julia\packages\SciMLBase\2HZ5m\src\scimlfunctions.jl:2355
[14] perform_step!(integrator::OrdinaryDiffEq.ODEIntegrator{OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, false, Matrix{Float64}, Nothing, Float64, Vector{Float64}, Float64, Float64, Float64, Float64, Vector{Matrix{Float64}}, SciMLBase.ODESolution{Float64, 3, Vector{Matrix{Float64}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{Matrix{Float64}}}, SciMLBase.ODEProblem{SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, OrdinaryDiffEq.InterpolationData{SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Vector{Matrix{Float64}}, Vector{Float64}, Vector{Vector{Matrix{Float64}}}, OrdinaryDiffEq.RK4ConstantCache, Nothing}, SciMLBase.DEStats, Nothing}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, OrdinaryDiffEq.RK4ConstantCache, OrdinaryDiffEq.DEOptions{Float64, Float64, Float64, Float64, OrdinaryDiffEq.PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Bool, SciMLBase.CallbackSet{Tuple{}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Float64, Tuple{}, Tuple{}}, Matrix{Float64}, Float64, Nothing, OrdinaryDiffEq.DefaultInit, Nothing}, cache::OrdinaryDiffEq.RK4ConstantCache, repeat_step::Bool)
@ OrdinaryDiffEq C:\Users\colin\.julia\packages\OrdinaryDiffEq\NBaQM\src\perform_step\fixed_timestep_perform_step.jl:289
[15] perform_step!
@ C:\Users\colin\.julia\packages\OrdinaryDiffEq\NBaQM\src\perform_step\fixed_timestep_perform_step.jl:281 [inlined]
[16] solve!(integrator::OrdinaryDiffEq.ODEIntegrator{OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, false, Matrix{Float64}, Nothing, Float64, Vector{Float64}, Float64, Float64, Float64, Float64, Vector{Matrix{Float64}}, SciMLBase.ODESolution{Float64, 3, Vector{Matrix{Float64}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{Matrix{Float64}}}, SciMLBase.ODEProblem{SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, OrdinaryDiffEq.InterpolationData{SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Vector{Matrix{Float64}}, Vector{Float64}, Vector{Vector{Matrix{Float64}}}, OrdinaryDiffEq.RK4ConstantCache, Nothing}, SciMLBase.DEStats, Nothing}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, OrdinaryDiffEq.RK4ConstantCache, OrdinaryDiffEq.DEOptions{Float64, Float64, Float64, Float64, OrdinaryDiffEq.PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Bool, SciMLBase.CallbackSet{Tuple{}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Float64, Tuple{}, Tuple{}}, Matrix{Float64}, Float64, Nothing, OrdinaryDiffEq.DefaultInit, Nothing})
@ OrdinaryDiffEq C:\Users\colin\.julia\packages\OrdinaryDiffEq\NBaQM\src\solve.jl:544
[17] __solve(::SciMLBase.ODEProblem{SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, ::OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}; kwargs::Base.Pairs{Symbol, Real, NTuple{7, Symbol}, NamedTuple{(:save_noise, :save_start, :save_end, :verbose, :maxiters, :tstops, :dt), Tuple{Bool, Bool, Bool, Bool, Int64, Float64, Float64}}})
@ OrdinaryDiffEq C:\Users\colin\.julia\packages\OrdinaryDiffEq\NBaQM\src\solve.jl:6
[18] __solve
@ C:\Users\colin\.julia\packages\OrdinaryDiffEq\NBaQM\src\solve.jl:1 [inlined]
[19] #solve_call#34
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:608 [inlined]
[20] solve_call
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:566 [inlined]
[21] #solve_up#42
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:1057 [inlined]
[22] solve_up
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:1043 [inlined]
[23] solve(prob::SciMLBase.ODEProblem{SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, args::OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}; sensealg::Nothing, u0::Nothing, p::Nothing, wrap::Val{true}, kwargs::Base.Pairs{Symbol, Real, NTuple{7, Symbol}, NamedTuple{(:save_noise, :save_start, :save_end, :verbose, :maxiters, :tstops, :dt), Tuple{Bool, Bool, Bool, Bool, Int64, Float64, Float64}}})
@ DiffEqBase C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:980
[24] _concrete_solve_adjoint(::SciMLBase.ODEProblem{SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, ::OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, ::SciMLSensitivity.InterpolatingAdjoint{0, true, Val{:central}, SciMLSensitivity.ZygoteVJP}, ::SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, ::Vector{Float64}, ::SciMLBase.ChainRulesOriginator; save_start::Bool, save_end::Bool, saveat::Vector{Float64}, save_idxs::Nothing, kwargs::Base.Pairs{Symbol, Real, NTuple{4, Symbol}, NamedTuple{(:verbose, :maxiters, :tstops, :dt), Tuple{Bool, Int64, Float64, Float64}}})
@ SciMLSensitivity C:\Users\colin\.julia\packages\SciMLSensitivity\4Ah3r\src\concrete_solve.jl:336
[25] _concrete_solve_adjoint(::SciMLBase.ODEProblem{SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, ::OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, ::Nothing, ::SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, ::Vector{Float64}, ::SciMLBase.ChainRulesOriginator; verbose::Bool, kwargs::Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:saveat, :maxiters, :tstops, :dt), Tuple{Vector{Float64}, Int64, Float64, Float64}}})
@ SciMLSensitivity C:\Users\colin\.julia\packages\SciMLSensitivity\4Ah3r\src\concrete_solve.jl:215
[26] _concrete_solve_adjoint
@ C:\Users\colin\.julia\packages\SciMLSensitivity\4Ah3r\src\concrete_solve.jl:200 [inlined]
[27] #_solve_adjoint#64
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:1512 [inlined]
[28] _solve_adjoint
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:1486 [inlined]
[29] #rrule#6
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\ext\DiffEqBaseChainRulesCoreExt.jl:25 [inlined]
[30] rrule
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\ext\DiffEqBaseChainRulesCoreExt.jl:21 [inlined]
[31] rrule
@ C:\Users\colin\.julia\packages\ChainRulesCore\zgT0R\src\rules.jl:140 [inlined]
[32] chain_rrule_kw
@ C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\chainrules.jl:235 [inlined]
[33] macro expansion
@ C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface2.jl:101 [inlined]
[34] _pullback
@ C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface2.jl:101 [inlined]
[35] _apply
@ .\boot.jl:838 [inlined]
[36] adjoint
@ C:\Users\colin\.julia\packages\Zygote\jxHJc\src\lib\lib.jl:203 [inlined]
[37] _pullback
@ C:\Users\colin\.julia\packages\ZygoteRules\M4xmc\src\adjoint.jl:67 [inlined]
[38] _pullback
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:980 [inlined]
[39] _pullback(::Zygote.Context{false}, ::DiffEqBase.var"##solve#40", ::Nothing, ::Nothing, ::Nothing, ::Val{true}, ::Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:saveat, :maxiters, :tstops, :dt), Tuple{Vector{Float64}, Int64, Float64, Float64}}}, ::typeof(CommonSolve.solve), ::SciMLBase.ODEProblem{SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, ::OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False})
@ Zygote C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface2.jl:0
[40] _apply(::Function, ::Vararg{Any})
@ Core .\boot.jl:838
[41] adjoint
@ C:\Users\colin\.julia\packages\Zygote\jxHJc\src\lib\lib.jl:203 [inlined]
[42] _pullback
@ C:\Users\colin\.julia\packages\ZygoteRules\M4xmc\src\adjoint.jl:67 [inlined]
[43] _pullback
@ C:\Users\colin\.julia\packages\DiffEqBase\eTCPy\src\solve.jl:970 [inlined]
[44] _pullback(::Zygote.Context{false}, ::typeof(Core.kwcall), ::NamedTuple{(:saveat, :maxiters, :tstops, :dt), Tuple{Vector{Float64}, Int64, Float64, Float64}}, ::typeof(CommonSolve.solve), ::SciMLBase.ODEProblem{SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, ::OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False})
@ Zygote C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface2.jl:0
[45] _pullback
@ C:\Users\colin\.julia\packages\ChaoticNDETools\lDYwC\src\models.jl:49 [inlined]
[46] _pullback(::Zygote.Context{false}, ::ChaoticNDE{Vector{Float64}, SciMLBase.ODEProblem{Matrix{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, Base.Pairs{Symbol, Real, Tuple{Symbol, Symbol, Symbol}, NamedTuple{(:maxiters, :tstops, :dt), Tuple{Int64, Float64, Float64}}}, ChaoticNDETools.CPUDevice}, ::Tuple{Vector{Float64}, Array{Float64, 3}}, ::Vector{Float64})
@ Zygote C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface2.jl:0
[47] _pullback
@ C:\Users\colin\.julia\packages\ChaoticNDETools\lDYwC\src\models.jl:48 [inlined]
[48] _pullback(ctx::Zygote.Context{false}, f::ChaoticNDE{Vector{Float64}, SciMLBase.ODEProblem{Matrix{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, Base.Pairs{Symbol, Real, Tuple{Symbol, Symbol, Symbol}, NamedTuple{(:maxiters, :tstops, :dt), Tuple{Int64, Float64, Float64}}}, ChaoticNDETools.CPUDevice}, args::Tuple{Vector{Float64}, Array{Float64, 3}})
@ Zygote C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface2.jl:0
[49] _pullback
@ C:\Users\colin\OneDrive-TUM\Code\Julia\MMDS.jl\scripts\train.jl:120 [inlined]
[50] _pullback(ctx::Zygote.Context{false}, f::var"#5#6", args::ChaoticNDE{Vector{Float64}, SciMLBase.ODEProblem{Matrix{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, Base.Pairs{Symbol, Real, Tuple{Symbol, Symbol, Symbol}, NamedTuple{(:maxiters, :tstops, :dt), Tuple{Int64, Float64, Float64}}}, ChaoticNDETools.CPUDevice})
@ Zygote C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface2.jl:0
[51] pullback(f::Function, cx::Zygote.Context{false}, args::ChaoticNDE{Vector{Float64}, SciMLBase.ODEProblem{Matrix{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, Base.Pairs{Symbol, Real, Tuple{Symbol, Symbol, Symbol}, NamedTuple{(:maxiters, :tstops, :dt), Tuple{Int64, Float64, Float64}}}, ChaoticNDETools.CPUDevice})
@ Zygote C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface.jl:90
[52] pullback
@ C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface.jl:88 [inlined]
[53] withgradient(f::Function, args::ChaoticNDE{Vector{Float64}, SciMLBase.ODEProblem{Matrix{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, SciMLBase.ODEFunction{false, SciMLBase.AutoSpecialize, MMDS.var"#ode#46"{Optimisers.Restructure{ST_SuEIR{Float64}, NamedTuple{(:y₀, :u₀, :θ, :q, :f), Tuple{Tuple{}, Int64, Vector{Int64}, Tuple{}, Tuple{}}}}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, SymbolicIndexingInterface.SymbolCache{Nothing, Nothing, Nothing}}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, OrdinaryDiffEq.RK4{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, Base.Pairs{Symbol, Real, Tuple{Symbol, Symbol, Symbol}, NamedTuple{(:maxiters, :tstops, :dt), Tuple{Int64, Float64, Float64}}}, ChaoticNDETools.CPUDevice})
@ Zygote C:\Users\colin\.julia\packages\Zygote\jxHJc\src\compiler\interface.jl:205
[54] top-level scope
@ C:\Users\colin\OneDrive-TUM\Code\Julia\MMDS.jl\scripts\train.jl:118
[55] include(fname::String)
@ Base.MainInclude .\client.jl:478
in expression starting at C:\Users\colin\OneDrive-TUM\Code\Julia\MMDS.jl\scripts\train.jl:114