KhronosGroup / KhronosGroup/NNEF-Docs

What is the result of argmin_reduce and argmax_reduce

Open
#21 33 comments 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
19
Forks
5
PR merge metrics
No merged PRs in 30d

Description

What is the result of argmin_reduce and argmax_reduce when multiple dimensions are reduced?

For example, consider the tensor:

> 3.2 4.5 1.3
> 2.7 1.4 3.2
> 9.1 2.3 1.4

If we argmax_reduce dimension 0 (columns), the result is [ 1, 2, 0 ]^T, and if we argmax_reduce dimension 1 (rows), the result is [ 2, 0, 1 ].

But what is the result if we argmax_reduce both dimensions?

It seems one plausible result could be 6, which is the global element offset to value 9.1 in the input tensor. However, this appears to be inconsistent with the current spec.

I believe the problem is that argmax_reduce and argmin_reduce are not separable across multiple reduction axes. Maybe the spec needs to be clear that only one dimension can be reduced with argmax_reduce and argmin_reduce, or perhaps a different definition is needed to specify result as a global element offset from the input tensor.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the argmin_reduce and argmax_reduce specification and the single-axis examples described in issue #21. Determine how multi-dimensional reduction is intended to behave, then clarify the specification with an explicit multi-axis example or a stated restriction.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.