Comments (1)
This is what JuliaDiff/ChainRulesCore.jl#446 was meant to solve. Right now it gives this error but haven't investigated further:
julia> # Solve
result = solve(prob, ADAM(0.001, (0.9, 0.999)), maxiters=1000)
ERROR: ArgumentError: new: too few arguments (expected 4)
Stacktrace:
[1] __new__
@ ~/.julia/packages/Zygote/xGkZ5/src/tools/builtins.jl:9 [inlined]
[2] adjoint
@ ~/.julia/packages/Zygote/xGkZ5/src/lib/lib.jl:293 [inlined]
[3] _pullback
@ ~/.julia/packages/ZygoteRules/OgCVT/src/adjoint.jl:66 [inlined]
[4] _pullback
@ /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/LinearAlgebra/src/tridiag.jl:498 [inlined]
[5] _pullback(::Zygote.Context{false}, ::Type{Tridiagonal{Float64, Vector{Float64}}}, ::Vector{Float64}, ::Vector{Float64}, ::Vector{Float64})
@ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface2.jl:0
[6] _pullback
@ /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/LinearAlgebra/src/tridiag.jl:533 [inlined]
[7] _pullback
@ ~/.julia/packages/DataInterpolations/ivHqg/src/interpolation_caches.jl:160 [inlined]
[8] _pullback(::Zygote.Context{false}, ::Type{CubicSpline}, ::Vector{Float64}, ::Vector{Float64})
@ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface2.jl:0
[9] _pullback
@ ./REPL[11]:3 [inlined]
[10] _pullback(::Zygote.Context{false}, ::typeof(obj), ::Vector{Float64}, ::Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}})
@ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface2.jl:0
[11] _apply(::Function, ::Vararg{Any})
@ Core ./boot.jl:838
[12] adjoint
@ ~/.julia/packages/Zygote/xGkZ5/src/lib/lib.jl:203 [inlined]
[13] _pullback
@ ~/.julia/packages/ZygoteRules/OgCVT/src/adjoint.jl:66 [inlined]
[14] _pullback
@ ~/.julia/packages/SciMLBase/VdcHg/src/scimlfunctions.jl:3626 [inlined]
[15] _pullback(::Zygote.Context{false}, ::OptimizationFunction{true, Optimization.AutoZygote, typeof(obj), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED_NO_TIME), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, ::Vector{Float64}, ::Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}})
@ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface2.jl:0
[16] _apply(::Function, ::Vararg{Any})
@ Core ./boot.jl:838
[17] adjoint
@ ~/.julia/packages/Zygote/xGkZ5/src/lib/lib.jl:203 [inlined]
[18] _pullback
@ ~/.julia/packages/ZygoteRules/OgCVT/src/adjoint.jl:66 [inlined]
[19] _pullback
@ ~/.julia/packages/Optimization/RHDsr/src/function/zygote.jl:31 [inlined]
[20] _pullback(ctx::Zygote.Context{false}, f::Optimization.var"#138#147"{OptimizationFunction{true, Optimization.AutoZygote, typeof(obj), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED_NO_TIME), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}}, args::Vector{Float64})
@ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface2.jl:0
[21] _apply(::Function, ::Vararg{Any})
@ Core ./boot.jl:838
[22] adjoint
@ ~/.julia/packages/Zygote/xGkZ5/src/lib/lib.jl:203 [inlined]
[23] _pullback
@ ~/.julia/packages/ZygoteRules/OgCVT/src/adjoint.jl:66 [inlined]
[24] _pullback
@ ~/.julia/packages/Optimization/RHDsr/src/function/zygote.jl:35 [inlined]
[25] _pullback(ctx::Zygote.Context{false}, f::Optimization.var"#140#149"{Tuple{}, Optimization.var"#138#147"{OptimizationFunction{true, Optimization.AutoZygote, typeof(obj), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED_NO_TIME), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}}}, args::Vector{Float64})
@ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface2.jl:0
[26] pullback(f::Function, cx::Zygote.Context{false}, args::Vector{Float64})
@ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface.jl:44
[27] pullback
@ ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface.jl:42 [inlined]
[28] gradient(f::Function, args::Vector{Float64})
@ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface.jl:96
[29] (::Optimization.var"#139#148"{Optimization.var"#138#147"{OptimizationFunction{true, Optimization.AutoZygote, typeof(obj), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED_NO_TIME), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}}})(::Vector{Float64}, ::Vector{Float64})
@ Optimization ~/.julia/packages/Optimization/RHDsr/src/function/zygote.jl:33
[30] macro expansion
@ ~/.julia/packages/OptimizationOptimisers/FWIuf/src/OptimizationOptimisers.jl:31 [inlined]
[31] macro expansion
@ ~/.julia/packages/Optimization/RHDsr/src/utils.jl:37 [inlined]
[32] __solve(prob::OptimizationProblem{true, OptimizationFunction{true, Optimization.AutoZygote, typeof(obj), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED_NO_TIME), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}, Nothing, Nothing, 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 ~/.julia/packages/OptimizationOptimisers/FWIuf/src/OptimizationOptimisers.jl:30
[33] __solve (repeats 2 times)
@ ~/.julia/packages/OptimizationOptimisers/FWIuf/src/OptimizationOptimisers.jl:7 [inlined]
[34] #solve#553
@ ~/.julia/packages/SciMLBase/VdcHg/src/solve.jl:86 [inlined]
[35] top-level scope
julia> VERSION
v"1.9.0-rc1"
(jl_iOCibG) pkg> st
Status `/private/var/folders/yq/4p2zwd614y59gszh7y9ypyhh0000gn/T/jl_iOCibG/Project.toml`
[d360d2e6] ChainRulesCore v1.15.0 `https://github.com/mcabbott/ChainRulesCore.jl#unstructural`
[82cc6244] DataInterpolations v4.0.0
[31c24e10] Distributions v0.25.87
[7f7a1694] Optimization v3.13.1
[253f991c] OptimizationFlux v0.1.4
[42dfb2eb] OptimizationOptimisers v0.1.2
from chainrules.jl.
Related Issues (20)
- Rules for `kron` HOT 1
- `*(::AbstractVector, ::AbstractMatrix)` pullback triggers scalar indexing on the GPU HOT 1
- ERROR: LoadError: Some tests did not pass: 7126 passed, 7 failed, 4 errored, 0 broken. in expression starting at /home/ian/.julia/packages/ChainRules/Ipuva/test/runtests.jl:19 ERROR: Package ChainRules errored during testing
- Error differentiating composed cross product with Zygote HOT 2
- `@fastmath maximum` broken on 1.10
- Add rules for `LinRange`
- Rule for `typed_vcat`? HOT 1
- Array `getindex` rule unable to handle Zero types and `NotImplemented` HOT 7
- Returning `Broadcasted` cotangents for `Broadcasted` arguments? HOT 7
- `unbroadcast` fails for `Matrix{Tangent}` due to `zero(::Tangent)`
- Wrong results for forward-mode `exp!` half of the time HOT 5
- Errors for gradient and hessian of logabsdet of sparse matrix HOT 3
- Missing rrules for `spdiagm`
- Rules for `eachslice` with multiple `dims`
- Reconsider giving `zero` as the derivative of one HOT 2
- arraymath muladd frule has too loose types
- Missing frules for `copy` HOT 1
- Sparse vector to real power throws a pullback error
- `rrule` for `mean(f, x)` is not vectorized? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chainrules.jl.