WARNING: Method definition overwritten
prbzrg opened this issue · 4 comments
julia> using SciMLSensitivity
WARNING: Method definition adjoint(ZygoteRules.AContext, typeof(ZygoteRules.literal_getproperty), SciMLBase.EnsembleSolution{T, N, S} where S where N where T, Base.Val{:u}) in module DiffEqBase overwritten in module SciMLBaseZygoteExt.
WARNING: Method definition _pullback(ZygoteRules.AContext, typeof(Core.kwcall), Any, typeof(ZygoteRules.literal_getproperty), SciMLBase.EnsembleSolution{T, N, S} where S where N where T, Base.Val{:u}) in module DiffEqBase at C:\Users\Hossein Pourbozorg\.julia\packages\ZygoteRules\4nXuu\src\adjoint.jl:74 overwritten in module SciMLBaseZygoteExt on the same line (check for duplicate calls to `include`).
WARNING: Method definition _pullback(ZygoteRules.AContext, typeof(ZygoteRules.literal_getproperty), SciMLBase.EnsembleSolution{T, N, S} where S where N where T, Base.Val{:u}) in module DiffEqBase at C:\Users\Hossein Pourbozorg\.julia\packages\ZygoteRules\4nXuu\src\adjoint.jl:65 overwritten in module SciMLBaseZygoteExt on the same line (check for duplicate calls to `include`).
julia>
I posted on Slack:
Chris Rackauckas
2 minutes ago
Anyone have open hands and wants to help with something? #927
1 reply
Chris Rackauckas
1 minute ago
https://github.com/SciML/DiffEqBase.jl/blob/master/src/chainrules.jl we should move all of the ZygoteRules and ChainRules which are only on SciMLBase types (I think that's all of them here?) into extensions in SciMLBase, like https://github.com/SciML/SciMLBase.jl/blob/master/ext/SciMLBaseZygoteExt.jl. This would get rid of type piracy and is a simple change, but I was in the middle of it and dropped it
There are some rules from SciML/DiffEqFlux.jl#744
GitHub search results:
https://github.com/search?q=org%3ASciML+language%3AJulia+%40adjoint&type=code
https://github.com/search?q=org%3ASciML+language%3AJulia+rrule&type=code
https://github.com/search?q=org%3ASciML+language%3AJulia+frule&type=code
https://github.com/search?q=org%3ASciML+language%3AJulia+%40non_differentiable&type=code
I don't think all of them related, but still should be checked.
Should be fixed now.