Closed
Description
The current AD implementation here (at least) lacks these features/suffers from these issues -
- MOAR!! oracles: Add
lag_h
support to FiniteDiff, MTK and Enzyme AD implementations #10,jvp
andvjp
for constraints, Add stochastic oracles #61, Add Proximal oracles #50 - Redundant function evaluations: Evaluate functional and gradient simultaneously #22
- Consistent support for exotic array types: Static arrays + autodiff #14 Real sparsity support in Enzyme backend #7
- Some more backends: add PolyesterForwardDiff as an AD backend #21 Wrap HyperHessians.jl as an AD backend #32 and FastDifferentiation
- Defaults
- Mixing AD backends when it makes sense
The reason these are outstanding has been lower priority and tediousness due to having to do it for multiple backends all the time. Hence, the emergence of DI is a timely solution for a bunch of these.
So my aim with #54 has been to start fleshing out some of the ideas of how these would look, we obviously can't expect DI to be the solution for everything but some of these are right up in its alley and it gives an excuse to spend time rethinking the implementation.
I plan to address #10, jvp
and vjp
for constraints, points 2, 3, #21 and FastDifferentiation, 5, and 6 in #54. I am hopeful to get this in by (at the absolute maximum) end of summer.
Metadata
Metadata
Assignees
Labels
No labels