ChainRules.jl
ChainRules.jl copied to clipboard
forward and reverse mode automatic differentiation primitives for Julia Base + StdLibs
Our current rrule for sparse matrix vector products is very inefficient, and causes out-of-memory with large sparse CPU or GPU arrays. Our current `rrule(*, sparse(A), x)` is implemented like this...
This pull request changes the compat entry for the `GPUArraysCore` package from `0.1.0` to `0.1.0, 0.2`. This keeps the compat entries for earlier versions. Note: I have not tested your...
In expressions like this, `hcat` figures out the size of `I` automatically, but the `rrule` assumes it behaves like a number: ``` julia> y = hcat(I, 11:13) 3×4 Matrix{Int64}: 1...
This adds an error for #810, instead of silently returning a wrong answer.
Hello I have a memory-constrained problem with a [Lux.jl](https://juliahub.com/ui/Packages/General/Lux) model that uses Zygote for most of the backpropagation. I tried to approach this from chainrules perspective I need to checkpoint...
I'm checking out this package's awesome documentation for inspiration for my own work and noticed a tiny, but potentially confusing issue for certain new users (like myself). If I'm in...
In 1.11 something changed i guess with inlining, constant-propagation and/or unrolling. And now `inds = ntuple(d -> d == dims ? p : (:), N)` doesn't infer. It used to...
This fixes the 1.11 failures on CI. Not sure its the best way, but it basically boils down to Julia 1.11 introduced a minor regression in inference of: `zero.(Diagonal(Float64[;])) .*...
code in a few places e.g. `norm.jl` uses a helper function called `withsomezeros` that handles making Triangular and Diagonal (etc) matrixes back into the correct types. This seems very similar...