ChainRules.jl
ChainRules.jl copied to clipboard
forward and reverse mode automatic differentiation primitives for Julia Base + StdLibs
This is that constant tension in ChainRules between wanting to implement very general rules, but not being sure you can rely on them to work for types that you can't...
I believe the `reshape(..., axes(a))` was basically a early stand before we had the more fully features ProjectTo code. Came up when reviewing https://github.com/JuliaDiff/ChainRules.jl/pull/782
This PR tries the suggestion in https://github.com/JuliaDiff/ChainRules.jl/pull/779#discussion_r1483664720 which apparently breaks some existing tests. I wonder what exactly is broken by these changes since the two-arg `similar` is quite standard and...
In Julia 1.9 there was an internal change in `kron` that introduced some mutation, which has made Zygote unable to differentiate `kron`. Here, we add some rules to restore that...
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 4. Release notes Sourced from actions/cache's releases. v4.0.0 What's Changed Update action to node20 by @takost in actions/cache#1284 feat: save-always flag by @to-s in actions/cache#1242...
I *think* this is a ChainRules.jl problem, not a Diffractor.jl problem but I'm not 100% sure. Here's a MWE: ```julia julia> using Diffractor: DiffractorForwardBackend; using AbstractDifferentiation: derivative, jacobian julia> derivative(DiffractorForwardBackend(),...
Ref. https://github.com/FluxML/Flux.jl/pull/2368. I see a couple of possibly complementary ways to go about this. Easiest would be to define an Adapt rule for `OneElement` so it's materialized or substituted with...
This change makes the pullback for `svd` faster and more memory efficient when taking the SVD of very tall or very wide matrices (which is a common application). The issue...
Fixes https://github.com/SciML/DiffEqFlux.jl/issues/744
I notice that we only currently implement `matfun_frechet` (the Fréchet derivative of matrix functions) for `exp(A)`, in #331 by @sethaxen. However, I came across a beautifully simple result based on...