TopK - version 10#
This page documents version 10 of operator TopK. See TopK for the latest version (since version 11).
Domain:
ai.onnxSince version: 10
Retrieve the top-K elements along a specified axis. Given an input tensor of shape [a_0, a_1, …, a{n-1}] and integer argument k, return two outputs:
-Value tensor of shape [a_0, a_1, ..., a_{axis-1}, k, a_{axis+1}, ... a_{n-1}]
which contains the values of the top k elements along the specified axis
-Index tensor of shape [a_0, a_1, ..., a_{axis-1}, k, a_{axis+1}, ... a_{n-1}] which
contains the indices of the top k elements (original indices from the input
tensor).
Given two equivalent values, this operator uses the indices along the axis as
a tiebreaker. That is, the element with the lower index will appear first.
Inputs
X (T): Tensor of shape [a_0, a_1, …, a{n-1}]
K (tensor(int64)): A 1-D tensor containing a single positive value corresponding to the number of top elements to retrieve
Outputs
Values (T): Tensor of shape [a_0, a_1, …, a{axis-1}, k, a{axis+1}, … a{n-1}] containing top K values from the input tensor
Indices (I): Tensor of shape [a_0, a_1, …, a{axis-1}, k, a{axis+1}, … a{n-1}] containing the corresponding input tensor indices for the top K values.
Attributes
axis (int): Dimension on which to do the sort.
Type Constraints
T: Constrain input and output types to float tensors. Allowed types: tensor(double), tensor(float), tensor(float16).
I: Constrain index tensor to int64 Allowed types: tensor(int64).
Differences with previous version (1)#
SchemaDiff: TopK (domain 'ai.onnx')
old version: 1
new version: 10
breaking: yes
Breaking reasons:
input ‘K’ (added): at position 1; option=Single; type_str=’tensor(int64)’
attribute ‘k’ (removed): type=INT; required=True
Inputs:
[BREAKING] added ‘K’: at position 1; option=Single; type_str=’tensor(int64)’
Attributes:
[BREAKING] removed ‘k’: type=INT; required=True
Documentation:
line similarity: 0.95 (+1/-0 lines)
--- TopK v1
+++ TopK v10
@@ -6,5 +6,6 @@
-Index tensor of shape [a_0, a_1, ..., a_{axis-1}, k, a_{axis+1}, ... a_{n-1}] which
contains the indices of the top k elements (original indices from the input
tensor).
+
Given two equivalent values, this operator uses the indices along the axis as
a tiebreaker. That is, the element with the lower index will appear first.