-
Notifications
You must be signed in to change notification settings - Fork 89
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
Where to find basic aritmetic operators derivatives and broadcasted versions #399
Comments
The And rules for scalar See ChainRules.jl/src/rulesets/Base/fastmath_able.jl Lines 163 to 165 in 38caf4b
and ChainRules.jl/src/rulesets/Base/fastmath_able.jl Lines 206 to 220 in 38caf4b
Rules for Array functions are in The rules for ChainRules.jl/src/rulesets/Base/arraymath.jl Lines 18 to 63 in 76ef95c
|
Thank you for the detailed answer! For me the unclear part is that how does * handle for bigger arrays 3D, 4D... But as I typed this again realised that there is no * opreation between bigger array, what I am looking for the ".*" and ".^" etc. which is interpreted between bigger arrays. What are the broadcasted function's version frule, rrule? One more question just asking fast, I see |
Zygote doesn't use ChainRules for handling broadcasting at all, everything is defined here: https://github.com/FluxML/Zygote.jl/blob/master/src/lib/broadcast.jl. We'd first need to solve JuliaDiff/ChainRulesCore.jl#68 before we can define such rules in ChainRules. |
It is really tricky code, I just can't understand how does this broadcasting called/overloaded in each So the only question I have where are the array versions of the |
See ChainRules.jl/src/rulesets/Base/arraymath.jl Lines 306 to 329 in 2e6491c
rrule for -(A::AbstractArray, B::AbstractArray) or if it falls through to broadcasting.
|
Hey,
I try to redefine
@scalar_rules
and some of the macros, to create the appropriate code for our symbolic derivation.I tried to google and understand the source code it but didin't see where to fing the pullback for
and so on.
I know it is easy to do but the library looks really nice and I don't understand where are the basic aritmetics. I found some
*...
in some case but theArray*Array
also something I couldn't find.What do I miss? How does Zygote do the chainrules without these arithmetics I couldn't get to know. Can you guys help me?
The text was updated successfully, but these errors were encountered: