Comments (2)
This appears to be more complicated. It seems that gradient(y -> sum(x -> x^2, y)/10, CUDA.randn(10))
does not hit the sum(f, x)
rrule, while mean(f, x)
does. This is super weird. I have no idea which rrule
is being hit for sum(f, x)
.
from chainrules.jl.
Zygote has this rule for sum(f, xs::CuArray)
, which takes precedence over the one here:
Note also that sum(x -> x^2, xs)
is equivalent to sum(abs2, xs)
which has a special rule. I think that mean(abs2, xs)
goes here and should call that.
(One example above has x -> x.^2
with an extra broadcast, some chance that changes what path is taken in the sum(f, xs)
rule.)
from chainrules.jl.
Related Issues (20)
- Missing frules for `copy` HOT 1
- Sparse vector to real power throws a pullback error
- No rules for `typed_hvcat` HOT 1
- Scalar indexing error using prod(...) HOT 1
- Basic functions don't work for CUDA HOT 1
- muladd test code doesn't test complex numbers. HOT 2
- unzip CI broken on 1.0
- SparseInverseSubset.jl dependency causes issues on non-GPL Julia builds HOT 1
- derivatives of more matrix functions HOT 3
- ambiguous rrule for sum of AbstractArray{Bool} HOT 2
- Make `OneElement` more GPU friendly
- `frule` for `sum` doesn't work for `Generator` HOT 1
- `frule`s for `one` are ambiguous
- bump Adapt to 4 in Project.toml HOT 1
- Method ambiguities causing test failures in Julia 1.10+ HOT 1
- Make the rrule for 3-arg dot lazy HOT 6
- `getindex` frule behavior HOT 1
- no method matching ChainRules.OneElement HOT 1
- `rrule` for `map` for tuples is outdated with respect to JuliaLang/julia#42216 HOT 1
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 chainrules.jl.