-
Notifications
You must be signed in to change notification settings - Fork 7
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
Further ChainRulesCore.rrule Integration #254
Conversation
Codecov ReportAttention: Patch coverage is
|
Performance Ratio:
|
@yebai could you let me know what you think about the docs? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Co-authored-by: Hong Ge <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good to me!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand most of the code, but I read the docstrings and skimmed the implementations and tests. Spotted a few typos and had a few questions, but no significant concerns to raise.
Co-authored-by: Markus Hauru <[email protected]>
I've downgraded CI to run on 1.10 for the time being so we can merge this while I figure out the upgrades for 1.11. |
At present the extent to which
ChainRulesCore.rrule
s can be (straightforwardly) used in this package is quite limited. The purpose of this PR is to:rrule
from ChainRules, andrrule
s.where
terms so that diagonal dispatch can be done.@from_rrule
macroThe reason for incorporating the rules from NNlib.jl in this PR, rather than a subsequent one, is that the main place we wish to import rules from in the near term is NNlib.jl. Consequently, doing that in this PR will give us a good sense of whether the new functionality we introduce here is sufficient.
edit: as a happy consequence of thinking more carefully about how we incorporate functionality from ChainRules, I've removed a lot of code from the the
@from_rrule
macro, and put it in a regular Julia function. This makes this bit of the codebase much more straightforward to understand.