ChainRules.jl icon indicating copy to clipboard operation
ChainRules.jl copied to clipboard

forward and reverse mode automatic differentiation primitives for Julia Base + StdLibs

Results 149 ChainRules.jl issues
Sort by recently updated
recently updated
newest added

In Zygote, we needed to add custom rules for `convert` and `Array` for `Symmetric` and `Hermitian` matrices, because these internally mutate (see https://github.com/FluxML/Zygote.jl/blob/0b3e32d5c0f8e5ef3b061a6f84ed5505f5a202a0/src/lib/array.jl#L493-L496). We had some discussions about a generic...

missing rule

In #44, I directly ported over code from Nabla, which contains the following comment: > See [1] for implementation details: pages 5-9 in particular. The derivations presented in > [1]...

performance

One of the benefits of ChainRules' design is that rules for multiple arguments can share intermediate computations by virtue of defining variables outside of the individual `Rule`s then capturing them...

performance

In #23, we realized that while it's straightforward to test sensitivities for one-argument `UnionAll` constructors, e.g. `Symmetric(X)` and `Diagonal(X)`, things can get more complicated when attempting to test constructors for...

testing

https://travis-ci.org/JuliaDiff/ChainRules.jl/jobs/636506595?utm_medium=notification&utm_source=github_status I cannot reproduce it locally. @oxinabox do you mind to take a look?

testing

If I am correct: the rrule for `getfield` is always: ``` function rrule(::typeof(getfield), val::P, field::Symbol) where P getfield_pullback(dy) = NO_FIELDS, Composite{P}(; (field => dy,)...) return getfield(val, field), getfield_pullback end ```

missing rule

Most of the functions in https://github.com/JuliaDiff/ChainRules.jl/blob/master/src/rulesets/LinearAlgebra/dense.jl right now don't belong there. As they are loaded even if LinearAlgebra isn't. Now right now we don't have a Requires.jl block around that,...

good first issue

Like for https://github.com/JuliaDiff/ChainRules.jl/issues/153 there is a generic frule for default constructors. It relies on the arguments being the same as the fields so would have to detect that. Its basically:...

missing rule

Not really just a new rule, just a better one? https://papers.nips.cc/paper/8579-backpropagation-friendly-eigendecomposition.pdf

enhancement
help wanted

Lots has changed since the docs were first written. #152 addresses a number of things, but there are a few more things that we might want to consider: - changing...

good first issue