Thanks, @ChrisRackauckas . I changed to out of place for both drift and diffusion functions and avoided all mutation. As before, ODE works fine. For SDE, the code has switched to Zygote (thanks @avikpal), but throws error
UndefVarError: J not defined
triggered by this line
solve(prob, S.solver, u0=u_init, p=p[S.ddim+1:end])
for prob
as SDEProblem
with no special args, and solver as ISSEM()
. Seems like something in StochasticDiffEq but I was not able to find the issue. Any ideas?
ERROR: UndefVarError: J not defined
Stacktrace:
[1] perform_step!(integrator::StochasticDiffEq.SDEIntegrator{StochasticDiffEq.ISSEM{0, true, Nothing, typeof(OrdinaryDiffEq.DEFAULT_PRECS), Val{:central}, true, nothing, DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, Float64, :Predictive}, false, Vector{Float64}, Float64, Float64, Float64, Vector{Float64}, Float64, Float64, Float64, DiffEqNoiseProcess.NoiseProcess{Float64, 2, Float64, Vector{Float64}, Nothing, Nothing, typeof(DiffEqNoiseProcess.WHITE_NOISE_DIST), typeof(DiffEqNoiseProcess.WHITE_NOISE_BRIDGE), false, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, DiffEqNoiseProcess.RSWM{Float64}, Nothing, RandomNumbers.Xorshifts.Xoroshiro128Plus}, Nothing, Vector{Float64}, SciMLBase.RODESolution{Float64, 2, Vector{Vector{Float64}}, Nothing, Nothing, Vector{Float64}, DiffEqNoiseProcess.NoiseProcess{Float64, 2, Float64, Vector{Float64}, Nothing, Nothing, typeof(DiffEqNoiseProcess.WHITE_NOISE_DIST), typeof(DiffEqNoiseProcess.WHITE_NOISE_BRIDGE), false, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, DiffEqNoiseProcess.RSWM{Float64}, Nothing, RandomNumbers.Xorshifts.Xoroshiro128Plus}, SciMLBase.SDEProblem{Vector{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, Nothing, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:maxiters, :reltol, :abstol, :callback), Tuple{Float64, Float64, Float64, SciMLBase.CallbackSet{Tuple{}, Tuple{}}}}}, Nothing}, StochasticDiffEq.ISSEM{0, true, Nothing, typeof(OrdinaryDiffEq.DEFAULT_PRECS), Val{:central}, true, nothing, DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, Float64, :Predictive}, StochasticDiffEq.LinearInterpolationData{Vector{Vector{Float64}}, Vector{Float64}}, DiffEqBase.DEStats}, StochasticDiffEq.ISSEMConstantCache{OrdinaryDiffEq.NLSolver{DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, false, Vector{Float64}, Float64, Nothing, Float64, OrdinaryDiffEq.NLNewtonConstantCache{Float64, Float64, Matrix{Float64}, LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, SciMLBase.UDerivativeWrapper{SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Float64, Vector{Float64}}}}}, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Nothing, StochasticDiffEq.SDEOptions{Float64, Float64, OrdinaryDiffEq.PIController{Float64}, typeof(DiffEqBase.ODE_DEFAULT_NORM), 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, Float64, Float64, Float64, Float64, Tuple{}, Tuple{}, Tuple{}}, Nothing, Float64, Nothing, Nothing}, cache::StochasticDiffEq.ISSEMConstantCache{OrdinaryDiffEq.NLSolver{DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, false, Vector{Float64}, Float64, Nothing, Float64, OrdinaryDiffEq.NLNewtonConstantCache{Float64, Float64, Matrix{Float64}, LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, SciMLBase.UDerivativeWrapper{SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Float64, Vector{Float64}}}}})
@ StochasticDiffEq /opt/julia/packages/StochasticDiffEq/Qloc0/src/perform_step/implicit_split_step.jl:60
[2] solve!(integrator::StochasticDiffEq.SDEIntegrator{StochasticDiffEq.ISSEM{0, true, Nothing, typeof(OrdinaryDiffEq.DEFAULT_PRECS), Val{:central}, true, nothing, DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, Float64, :Predictive}, false, Vector{Float64}, Float64, Float64, Float64, Vector{Float64}, Float64, Float64, Float64, DiffEqNoiseProcess.NoiseProcess{Float64, 2, Float64, Vector{Float64}, Nothing, Nothing, typeof(DiffEqNoiseProcess.WHITE_NOISE_DIST), typeof(DiffEqNoiseProcess.WHITE_NOISE_BRIDGE), false, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, DiffEqNoiseProcess.RSWM{Float64}, Nothing, RandomNumbers.Xorshifts.Xoroshiro128Plus}, Nothing, Vector{Float64}, SciMLBase.RODESolution{Float64, 2, Vector{Vector{Float64}}, Nothing, Nothing, Vector{Float64}, DiffEqNoiseProcess.NoiseProcess{Float64, 2, Float64, Vector{Float64}, Nothing, Nothing, typeof(DiffEqNoiseProcess.WHITE_NOISE_DIST), typeof(DiffEqNoiseProcess.WHITE_NOISE_BRIDGE), false, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, DiffEqNoiseProcess.RSWM{Float64}, Nothing, RandomNumbers.Xorshifts.Xoroshiro128Plus}, SciMLBase.SDEProblem{Vector{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, Nothing, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:maxiters, :reltol, :abstol, :callback), Tuple{Float64, Float64, Float64, SciMLBase.CallbackSet{Tuple{}, Tuple{}}}}}, Nothing}, StochasticDiffEq.ISSEM{0, true, Nothing, typeof(OrdinaryDiffEq.DEFAULT_PRECS), Val{:central}, true, nothing, DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, Float64, :Predictive}, StochasticDiffEq.LinearInterpolationData{Vector{Vector{Float64}}, Vector{Float64}}, DiffEqBase.DEStats}, StochasticDiffEq.ISSEMConstantCache{OrdinaryDiffEq.NLSolver{DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, false, Vector{Float64}, Float64, Nothing, Float64, OrdinaryDiffEq.NLNewtonConstantCache{Float64, Float64, Matrix{Float64}, LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, SciMLBase.UDerivativeWrapper{SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Float64, Vector{Float64}}}}}, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Nothing, StochasticDiffEq.SDEOptions{Float64, Float64, OrdinaryDiffEq.PIController{Float64}, typeof(DiffEqBase.ODE_DEFAULT_NORM), 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, Float64, Float64, Float64, Float64, Tuple{}, Tuple{}, Tuple{}}, Nothing, Float64, Nothing, Nothing})
@ StochasticDiffEq /opt/julia/packages/StochasticDiffEq/Qloc0/src/solve.jl:611
[3] #__solve#110
@ /opt/julia/packages/StochasticDiffEq/Qloc0/src/solve.jl:7 [inlined]
[4] solve_call(_prob::SciMLBase.SDEProblem{Vector{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, Nothing, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:maxiters, :reltol, :abstol, :callback), Tuple{Float64, Float64, Float64, SciMLBase.CallbackSet{Tuple{}, Tuple{}}}}}, Nothing}, args::StochasticDiffEq.ISSEM{0, true, Nothing, typeof(OrdinaryDiffEq.DEFAULT_PRECS), Val{:central}, true, nothing, DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, Float64, :Predictive}; merge_callbacks::Bool, kwargshandle::DiffEqBase.KeywordArgError, kwargs::Base.Pairs{Symbol, Real, NTuple{7, Symbol}, NamedTuple{(:save_noise, :save_start, :save_end, :verbose, :reltol, :abstol, :maxiters), Tuple{Bool, Bool, Bool, Bool, Float64, Float64, Float64}}})
@ DiffEqBase /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:433
[5] #solve_up#34
@ /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:772 [inlined]
[6] #solve#33
@ /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:756 [inlined]
[7] _concrete_solve_adjoint(::SciMLBase.SDEProblem{Vector{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, Nothing, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Base.Pairs{Symbol, Any, NTuple{5, Symbol}, NamedTuple{(:reltol, :abstol, :callback, :saveat, :maxiters), Tuple{Float64, Float64, Nothing, Vector{Float64}, Float64}}}, Nothing}, ::StochasticDiffEq.ISSEM{0, true, Nothing, typeof(OrdinaryDiffEq.DEFAULT_PRECS), Val{:central}, true, nothing, DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, Float64, :Predictive}, ::DiffEqSensitivity.InterpolatingAdjoint{0, true, Val{:central}, DiffEqSensitivity.ZygoteVJP}, ::Vector{Float64}, ::Vector{Float64}, ::SciMLBase.ChainRulesOriginator; save_start::Bool, save_end::Bool, saveat::Vector{Float64}, save_idxs::Nothing, kwargs::Base.Pairs{Symbol, Union{Nothing, Real}, NTuple{5, Symbol}, NamedTuple{(:verbose, :reltol, :abstol, :callback, :maxiters), Tuple{Bool, Float64, Float64, Nothing, Float64}}})
@ DiffEqSensitivity /opt/julia/packages/DiffEqSensitivity/Pn9H4/src/concrete_solve.jl:164
[8] #_concrete_solve_adjoint#224
@ /opt/julia/packages/DiffEqSensitivity/Pn9H4/src/concrete_solve.jl:102 [inlined]
[9] #_solve_adjoint#57
@ /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:1142 [inlined]
[10] _solve_adjoint
@ /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:1111 [inlined]
[11] #rrule#55
@ /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:1095 [inlined]
[12] rrule
@ /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:1091 [inlined]
[13] rrule
@ /opt/julia/packages/ChainRulesCore/16PWJ/src/rules.jl:134 [inlined]
[14] chain_rrule
@ /opt/julia/packages/Zygote/IoW2g/src/compiler/chainrules.jl:217 [inlined]
[15] macro expansion
@ /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0 [inlined]
[16] _pullback
@ /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:9 [inlined]
[17] _apply
@ ./boot.jl:816 [inlined]
[18] adjoint
@ /opt/julia/packages/Zygote/IoW2g/src/lib/lib.jl:204 [inlined]
[19] _pullback
@ /opt/julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:65 [inlined]
[20] _pullback
@ /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:756 [inlined]
[21] _pullback(::Zygote.Context, ::DiffEqBase.var"##solve#33", ::Nothing, ::Vector{Float64}, ::Vector{Float64}, ::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::typeof(CommonSolve.solve), ::SciMLBase.SDEProblem{Vector{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, Nothing, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Base.Pairs{Symbol, Any, NTuple{5, Symbol}, NamedTuple{(:reltol, :abstol, :callback, :saveat, :maxiters), Tuple{Float64, Float64, Nothing, Vector{Float64}, Float64}}}, Nothing}, ::StochasticDiffEq.ISSEM{0, true, Nothing, typeof(OrdinaryDiffEq.DEFAULT_PRECS), Val{:central}, true, nothing, DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, Float64, :Predictive})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0
[22] _apply(::Function, ::Vararg{Any})
@ Core ./boot.jl:816
[23] adjoint
@ /opt/julia/packages/Zygote/IoW2g/src/lib/lib.jl:204 [inlined]
[24] _pullback
@ /opt/julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:65 [inlined]
[25] _pullback
@ /opt/julia/packages/DiffEqBase/aAyno/src/solve.jl:749 [inlined]
[26] _pullback(::Zygote.Context, ::CommonSolve.var"#solve##kw", ::NamedTuple{(:u0, :p), Tuple{Vector{Float64}, Vector{Float64}}}, ::typeof(CommonSolve.solve), ::SciMLBase.SDEProblem{Vector{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, Nothing, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Base.Pairs{Symbol, Any, NTuple{5, Symbol}, NamedTuple{(:reltol, :abstol, :callback, :saveat, :maxiters), Tuple{Float64, Float64, Nothing, Vector{Float64}, Float64}}}, Nothing}, ::StochasticDiffEq.ISSEM{0, true, Nothing, typeof(OrdinaryDiffEq.DEFAULT_PRECS), Val{:central}, true, nothing, DiffEqBase.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, Float64, :Predictive})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0
[27] _pullback
@ ~/sim/zzOtherLang/julia/projects/OptTF/src/OptTF.jl:241 [inlined]
[28] _pullback(::Zygote.Context, ::OptTF.var"#predict_ode_dummy#13"{Settings, Float64, Float64, Float64}, ::Vector{Float64}, ::SciMLBase.SDEProblem{Vector{Float64}, Tuple{Float64, Float64}, false, Vector{Float64}, Nothing, SciMLBase.SDEFunction{false, OptTF.var"#24#26"{Settings, loss_args, OptTF.OptTF_settings.OptTF_data.Circadian}, typeof(OptTF.ode_noise), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, typeof(OptTF.ode_noise), Base.Pairs{Symbol, Any, NTuple{5, Symbol}, NamedTuple{(:reltol, :abstol, :callback, :saveat, :maxiters), Tuple{Float64, Float64, Nothing, Vector{Float64}, Float64}}}, Nothing})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0
[29] _pullback
@ ~/sim/zzOtherLang/julia/projects/OptTF/src/OptTF.jl:320 [inlined]
[30] _pullback(::Zygote.Context, ::typeof(loss), ::Vector{Float64}, ::Settings, ::loss_args)
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0
[31] _pullback
@ ~/sim/zzOtherLang/julia/projects/OptTF/src/OptTF.jl:351 [inlined]
[32] _pullback(::Zygote.Context, ::OptTF.var"#35#36"{Settings, loss_args}, ::Vector{Float64}, ::Vector{Float64})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0
[33] _apply
@ ./boot.jl:816 [inlined]
[34] adjoint
@ /opt/julia/packages/Zygote/IoW2g/src/lib/lib.jl:204 [inlined]
[35] _pullback
@ /opt/julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:65 [inlined]
[36] _pullback
@ /opt/julia/packages/SciMLBase/TqBga/src/scimlfunctions.jl:2891 [inlined]
[37] _pullback(::Zygote.Context, ::SciMLBase.OptimizationFunction{true, Optimization.AutoZygote, OptTF.var"#35#36"{Settings, loss_args}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, ::Vector{Float64}, ::Vector{Float64})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0
[38] _apply(::Function, ::Vararg{Any})
@ Core ./boot.jl:816
[39] adjoint
@ /opt/julia/packages/Zygote/IoW2g/src/lib/lib.jl:204 [inlined]
[40] _pullback
@ /opt/julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:65 [inlined]
[41] _pullback
@ /opt/julia/packages/Optimization/i9NGR/src/function/zygote.jl:30 [inlined]
[42] _pullback(ctx::Zygote.Context, f::Optimization.var"#128#138"{SciMLBase.OptimizationFunction{true, Optimization.AutoZygote, OptTF.var"#35#36"{Settings, loss_args}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Vector{Float64}}, args::Vector{Float64})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0
[43] _apply(::Function, ::Vararg{Any})
@ Core ./boot.jl:816
[44] adjoint
@ /opt/julia/packages/Zygote/IoW2g/src/lib/lib.jl:204 [inlined]
[45] _pullback
@ /opt/julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:65 [inlined]
[46] _pullback
@ /opt/julia/packages/Optimization/i9NGR/src/function/zygote.jl:32 [inlined]
[47] _pullback(ctx::Zygote.Context, f::Optimization.var"#131#141"{Tuple{}, Optimization.var"#128#138"{SciMLBase.OptimizationFunction{true, Optimization.AutoZygote, OptTF.var"#35#36"{Settings, loss_args}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Vector{Float64}}}, args::Vector{Float64})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface2.jl:0
[48] _pullback(f::Function, args::Vector{Float64})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface.jl:34
[49] pullback(f::Function, args::Vector{Float64})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface.jl:40
[50] gradient(f::Function, args::Vector{Float64})
@ Zygote /opt/julia/packages/Zygote/IoW2g/src/compiler/interface.jl:75
[51] (::Optimization.var"#129#139"{Optimization.var"#128#138"{SciMLBase.OptimizationFunction{true, Optimization.AutoZygote, OptTF.var"#35#36"{Settings, loss_args}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Vector{Float64}}})(::Vector{Float64}, ::Vector{Float64})
@ Optimization /opt/julia/packages/Optimization/i9NGR/src/function/zygote.jl:32
[52] macro expansion
@ /opt/julia/packages/OptimizationOptimisers/XLPqT/src/OptimizationOptimisers.jl:35 [inlined]
[53] macro expansion
@ /opt/julia/packages/Optimization/i9NGR/src/utils.jl:35 [inlined]
[54] __solve(prob::SciMLBase.OptimizationProblem{true, SciMLBase.OptimizationFunction{true, Optimization.AutoZygote, OptTF.var"#35#36"{Settings, loss_args}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Vector{Float64}, Nothing, Nothing, Nothing, Nothing, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, opt::Optimisers.Adam{Float64}, data::Base.Iterators.Cycle{Tuple{Optimization.NullData}}; maxiters::Int64, callback::Function, progress::Bool, save_best::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ OptimizationOptimisers /opt/julia/packages/OptimizationOptimisers/XLPqT/src/OptimizationOptimisers.jl:33
[55] #solve#516
@ /opt/julia/packages/SciMLBase/TqBga/src/solve.jl:71 [inlined]
[56] fit_diffeq(S::Settings; noise::Float64, new_rseed::Bool, init_on::Bool, offset::Bool, noise_wait::Float64, hill_k_init::Float64)
@ OptTF ~/sim/zzOtherLang/julia/projects/OptTF/src/OptTF.jl:425
[57] top-level scope
@ REPL[15]:1