Comments (2)
My hypothesis (without checking it in detail) is that the problem is that the backend for ChainRulesCore integration (used also for Zygote in your example) uses the rrule
to define the pullback function (
value_and_pullback_function
(
) which is e.g. used by derivative
(
) via jacobian
(
).
I think one "just" has to define value_and_pullback_function
in terms of only rrule
for these backends. This should avoid the unnecessary call of the original function.
from abstractdifferentiation.jl.
Just noticed, there's already #34, #35, #36.
from abstractdifferentiation.jl.
Related Issues (20)
- Caching interfaces HOT 1
- Adopt ColPrac?
- Establish a benchmark for performance regressions/improvements
- value_gradient_and_hessian for ForwardDiff returns gradient of type Dual HOT 1
- Type of cotangent is sometimes not a vector in FiniteDifferences vjp tests
- Use multiple arguments instead of a tuple for pushforward and pullback function? HOT 4
- `AD.jacobian` much slower than `Zygote.jacobian`
- JET.jl reports possible errors on `AD.gradient` that do not appear with `Zygote.gradient` HOT 3
- Using AbstractDifferentiation and Zygote as package dependencies errors: `UndefVarError: ZygoteBackend not defined`
- Jacobians for functions beyond vector-to-vector?
- Whats the reason for the derivative / gradient difference?
- AD failure where Zygote succeeds HOT 3
- ForwardDiff is broken for differently sized inputs
- API for user code to detect if it's being differentiated HOT 11
- Feature request: option to turn off ForwardDiff tagging
- Zygote context cache incorrectly(?) persists between AD calls
- Missing `value_derivative_and_second_derivative`?
- Replace Requires.jl with conditional dependencies for Julia 1.9 HOT 2
- LoadError: UndefVarError: StaticArrays not defined HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abstractdifferentiation.jl.