-
-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ReverseDiffAdjoint does not support non-Array types #489
Comments
This is an upstream issue. The real problem is that ReverseDiff doesn't work with non-Array types, so this probably isn't fixable. |
But something like this works. Am I missing something? ReverseDiff.gradient(x->sum(x),ComponentArray(a=1.,b=7.,c=8.))
# ComponentVector{Float64}(a = 1.0, b = 1.0, c = 1.0) (If it is due to ReverseDiff, than you can close this issue if you want.) |
do something like
This is just a known feature of ReverseDiff, and not something that can be fixed due to its design IIRC. |
@ChrisRackauckas are you sure? SciML/ComponentArrays.jl#37 , also your
|
This response was written in 2021. It means nothing for today. |
Then maybe this should be reopened? afaict all of the reverse mode adjoints are either broken (Zygote) or don't work with ComponentArrays (ReverseDiff, Tracker). |
But those are all upstream issues. Nothing in this library can fix the limitations of ReverseDiff.jl, Tracker.jl, or Zygote.jl. Those are issues that would need to be addressed on those respective libraries. If anything is going to fix this issue, it's to make EnzymeAdjoint work out, which is SciML/OrdinaryDiffEq.jl#2282 and a few other threads. |
What's the current problem with ReverseDiff? |
ReverseDiff.jl only supports defining |
On the latest version of DiffEqSensitivity, using ComponentArrays with ReverseDiffSensitivity fails.
The text was updated successfully, but these errors were encountered: