Zygote.jl
Zygote.jl copied to clipboard
21st century AD
At present, Zygote will use forward mode AD (outsourced to FowardDiff) under 2 circumstances: 1. Based on a heuristic for broadcasting 2. Upon an explicit call to `Zygote.forwarddiff` As shown...
Issue related to #725 : ```julia julia> d = Dict(:a => 5, :b => 6); julia> function f(d) s = 0 for (k,v) in d s += v end s...
Zygote (v0.6.43) currently gives a wrong gradient involving kwargs splatting. It seems to double-count a gradient contribution through implicit and explicit kwargs. Here's a small example: ```julia f1(; kwargs...) =...
MWE (Not specific to ones function, just using that as an example) ```Julia using Zygote, CUDA function usecuda(x::CuVector) some1s = CUDA.ones(length(x)) return CUDA.sum(some1s .+ x) end function nocuda(x::Vector) some1s =...
There are two reasons for this PR: - These are defined in ChainRules - Tests are broken on nightly (and apparently also on Julia 1.8-rc1, as [observed upstream](https://github.com/JuliaGaussianProcesses/ApproximateGPs.jl/issues/135)) that point...
Commented out `===` check in lib `@adjoint` for `literal_getproperty`. This is breaking grads for dicts in closures (and thus, also structs with dictionary fields). There are a number of small...
```julia julia> Zygote.gradient(x -> (() -> x[:y])(), Dict(:y => 0.4)) (nothing,) ``` the gradient w.r.t. the `y` element of `x` should be `1`. This bug doesn't occur with the equivalent...
**Note: Requires FluxML/ZygoteRules.jl#17** Currently, Zygote always unthunks `ChainRuleCore` thunks, which is wasteful and may also lead to trouble in cases why a thunks just can't be run for the given...
Let’s say I have a matrix A, and each of the entries of this matrix A is the function of x. And then we have matrix B, and the entries...
This is a feature suggestion. I do not believe it currently exists. Suppose one has access to a function `f(x,p)` that, and this is the important part, **cannot be rewritten...