Skip to content
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

WIP: AD stuff #22

Closed
wants to merge 13 commits into from
Closed

WIP: AD stuff #22

wants to merge 13 commits into from

Conversation

willtebbutt
Copy link
Member

@willtebbutt willtebbutt commented Aug 11, 2018

Work in progress PR to extent DiffRules to provide useful AD-related functionality. The scope of the additions include:

  • A collection of forward- and reverse-mode sensitivity implementations. These will comprise the existing scalar implementations and linear algebra optimisations for both modes.
  • New syntax for specifying sensitivities.

Initial commit:

  • Refactor @define_diffrule macro to improve readability using MacroTools.
  • Define initial interface for adding forward sensitivity implementations.
  • Construct forward rules from existing diff rules.

ToDo:

Unknowns:

  • specialisations for binary forward rules for when a sensitivity is provided only wrt one of the arguments. This requires a bit more structure in the sensitivity definitions. Is this necessary though? Could we just assume that zeros will be constant-propagated and rely on downstream packages to handle this appropriately?

@willtebbutt
Copy link
Member Author

PR is in reasonable shape now, so probably time for a review before polishing. Things to address:

  • Do we want to bump the require to 1.0.0? Tests are failing on 0.6. Do we care?
  • The coverage appears to have plummeted, but I have no idea why... also not sure if we care.

@jrevels
Copy link
Member

jrevels commented Aug 13, 2018

Sweet, I'll try to review this this week. Also interested in thoughts from @MikeInnes and @dfdx, if they have any.

Do we want to bump the require to 1.0.0? Tests are failing on 0.6. Do we care?

Nah, we can bump to 1.0 whenever.

The coverage appears to have plummeted, but I have no idea why... also not sure if we care.

Would be good to know why but not essential at the moemnt

@willtebbutt
Copy link
Member Author

Most recent PR begins porting stuff over from DiffLinearAlgebra. See src/reverse/generic.jl for examples that (might) actually work (they're not tested yet).

@ararslan
Copy link
Member

What's the status of this PR? Is this change still relevant going forward in the current Julia AD landscape? If so, I can try to help get it cleaned up.

@willtebbutt
Copy link
Member Author

This is PR is basically dead given ChainRules.jl as far as I'm concerned. I'm happy for this to be closed.

@ararslan ararslan closed this Mar 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants