How to recitify the version compatibility error?
Spinachboul opened this issue · 1 comments
Spinachboul commented
using SciMLSensitivity, OrdinaryDiffEq
using Pkg
using DiffEqBase
default()
function mass_spring_damper_ude!(du, u, p, t)
m, b, k = p
du .= [u[2], -b * u[2] - k * u[1] / m]
end
u0 = [1.0, 0.0] # Initial displacement and velocity
tspan = (0.0, 10.0)
params = [1.0, 0.2, 1.0] # Mass, damping coefficient, spring constant
prob_ude = ODEProblem(mass_spring_damper_ude!, u0, tspan, params)
sol_ude = solve(prob_ude, Tsit5())
using Optimization, OptimizationPolyalgorithms
function loss(θ)
sol = solve(prob_ude, Tsit5(), p = [θ[1], θ[2], 1.0])
target = [0.0, -0.5] # Replace with actual target data
sum(abs2, sol[end] .- target)
end
loss([0.2, 1.0])
adtype = Optimization.AutoZygote()
optf = Optimization.OptimizationFunction((x, p) -> loss(x), adtype)
optprob = Optimization.OptimizationProblem(optf, [0.2, 1.0])
@time res = Optimization.solve(optprob, PolyOpt(), maxiters = 300)
@show res.u
This code gives me the following error logs:
LoadError: ArgumentError: Package DiffEqBase [2b5f629d-d688-5b77-993f-72d75c75574e] is required but does not seem to be installed:
- Run `Pkg.instantiate()` to install all recorded dependencies.
Stacktrace:
[1] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1774
[2] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[3] macro expansion
@ .\loading.jl:1648 [inlined]
[4] macro expansion
@ .\lock.jl:267 [inlined]
[5] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
[6] include
@ .\Base.jl:457 [inlined]
[7] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
@ Base .\loading.jl:2049
[8] top-level scope
@ stdin:3
in expression starting at c:\Users\mridu\Desktop\SciMLSensitivity.jl\src\SciMLSensitivity.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile SciMLSensitivity [1ed8b502-d754-442c-8d5d-10ac956f44a1] to "C:\\Users\\mridu\\.julia\\compiled\\v1.9\\SciMLSensitivity\\jl_8E04.tmp".
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base .\loading.jl:2294
[3] compilecache
@ .\loading.jl:2167 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1805
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[6] macro expansion
@ .\loading.jl:1648 [inlined]
[7] macro expansion
@ .\lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
in expression starting at c:\Users\mridu\Desktop\SciMLSensitivity.jl\sample.jl:1
Please help rectify this error!!
ChrisRackauckas commented
You just need to add DiffEqBase.