Comments (5)
Absolutely. Contributions are welcome and appreciated
from onnx.
The expected behavior is mentioned here as well.
Can I work on this? @justinchuby
from onnx.
This is complicated. Agree that there is a mismatch, but is the bug in the specification or implementation?
My personal interpretation is that this is a bug in the specification, not implementation, for the following reason: the attributes serve to define the set of axes being reduced: specifically, it is a flag to allow the empty list to indicate that all axes must be reduced (or that no axes must be reduced). Now, even if zero axes are reduced, it makes sense to compute the square. ReduceSumSquare is not actually a reduction-op: it is a reduction-op Sum applied to the square of the input.
I think the bug was in reusing the ReduceSum documentation for all ops ... it is correct for basic Reduction ops, but not ReduceSumSquare.
Of course, we can test with other backends/implementations (like onnxruntime, or even pytorch/tensorflow etc. IF they have such an option).
from onnx.
Following the discussion, I think it's reasonable to correct the spec. Out of curiosity, was there any reason you would expect the behavior to be different than the current one @RunnerZhong ?
from onnx.
I agree with below idea. So maybe we need to modify the spec of ops like ReduceSumSquare(ReduceLogSum, ReduceLogSumExp).
This is complicated. Agree that there is a mismatch, but is the bug in the specification or implementation?
My personal interpretation is that this is a bug in the specification, not implementation, for the following reason: the attributes serve to define the set of axes being reduced: specifically, it is a flag to allow the empty list to indicate that all axes must be reduced (or that no axes must be reduced). Now, even if zero axes are reduced, it makes sense to compute the square. ReduceSumSquare is not actually a reduction-op: it is a reduction-op Sum applied to the square of the input.
I think the bug was in reusing the ReduceSum documentation for all ops ... it is correct for basic Reduction ops, but not ReduceSumSquare.
Of course, we can test with other backends/implementations (like onnxruntime, or even pytorch/tensorflow etc. IF they have such an option).
from onnx.
Related Issues (20)
- Split onnx model in architecture and weights HOT 2
- a) Feature Request: Function sample_dirichlet, b) State of probabilistic model support? HOT 4
- Using onnx shape inference some operator doesn't support shape inference HOT 1
- Convert a model with custom pytorch CUDA kernel HOT 1
- Want to substitute Expand operator with some other operator in ONNX due to compatibility issues with hardware HOT 1
- Squeeze-11's output shape is mistakenly inferred when input has dynamic axes and squeezing axes is not specified
- NMS Operator Output Different From Torchvision Implementation HOT 1
- n-bit data type HOT 1
- Model split failure using onnx.utils.extract_model HOT 3
- Change the example in the documentation of Transpose HOT 1
- Python 3.13 support HOT 1
- Can't reduce the version of Softmax from $13 to $12 HOT 2
- Unexpected floatBuffer output with onnxModel that substract 2 input floatBuffer HOT 1
- [Feature request] Better support for large models (>2GB) in extract_model HOT 2
- Why does SplitToSequence not allow zeros in `split` input? HOT 1
- flash-attention onnx export. HOT 3
- Try to convert LlamaForCausalLM to ONNX with input_embeds as input HOT 1
- Sonarcloud for static code analysis? HOT 4
- codeformatter / linter for yaml files? HOT 4
- ConcatFromSequence reference implementation does not respect axis when new_axis=1 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 onnx.