-
Notifications
You must be signed in to change notification settings - Fork 3
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
Replace AD package extensions with DifferentiationInterface #51
Conversation
Thanks for working on this update 👍
Since this is a breaking change, I think we can just remove
It's technically valid but I don't think it's a feature we rely on anywhere. I think we can switch the test to use a vector-valued function. |
I agree, but this would prevent us from testing here because the test dependencies contain a version of Manifolds.jl which still requires |
Right, in this case making |
The fact that we use Manifolds in testing also means we cannot bump ManifoldsDiff to v0.4.0 in the current state, because it is not permitted by the Manifolds compat bound. The right way would be testing with a |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #51 +/- ##
==========================================
+ Coverage 95.46% 95.69% +0.22%
==========================================
Files 21 13 -8
Lines 375 395 +20
==========================================
+ Hits 358 378 +20
Misses 17 17 ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
That's what I sometimes do locally when making breaking changes but I don't know about any way to do it on CI. |
The last commit gives you an example of how to do that, using my custom branch of Manifolds where the compat entry has been upgraded and the Warning Don't merge before undoing those changes. |
Nice, I didn't know that trick. |
This indeed looks like a very neat trick! Thanks for illustrating that here. |
Before we go any further here, I'm making sure that Manifolds itself can handle this ManifoldsDiff v0.4.0. I have opened a symmetric PR (JuliaManifolds/Manifolds.jl#771) which checks out my custom branck of ManifoldsDiff. |
All the tests are passing with my custom branch of the downstream Manifolds (except codecov). I will now remove my Pkg tricks, the tests will thus fail but it will still be good to merge. |
@kellertuer this is good to go |
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.
LGTM.
By the way, is JuliaManifolds/Manifolds.jl#772 good to go also?
Yeah you can ship that one too |
Fixes #49. Here are the main changes:
_derivative
,_gradient
,_jacobian
and_hessian
using DIAbstractDiffBackend
, since it is apparently used downstream. Replace it withUnion{ADTypes.AbstractADType, ExplicitEmbeddedBackend}
? Right now I removed annotations in this package, and setAbstractDiffBackend = Any
for downstream uses.