TopK

TopK - 11

版本

  • 名称: TopK (GitHub)

  • : main

  • 自版本起: 11

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此运算符版本已自版本 11 起可用。

摘要

沿着指定轴检索前 K 个最大或最小元素。给定形状为 [a_0, a_1, …, a_{n-1}] 的输入张量和整数参数 k,返回两个输出

  • 形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的值张量,其中包含沿着指定轴的前 k 个元素的值

  • 形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的索引张量,其中包含前 k 个元素的索引(来自输入张量的原始索引)。

  • 如果“最大”为 1(默认值),则返回前 k 个最大元素。

  • 如果“已排序”为 1(默认值),则返回的 k 个元素将按顺序排序。

  • 如果“已排序”为 0,则返回的“值”和“索引”的顺序未定义。

对于两个相同的值,此运算符使用沿着轴的索引作为决胜因素。也就是说,索引较小的元素将首先出现。

属性

  • 轴 - INT(默认为 '-1'

    进行排序的维度。负值表示从后面开始计数维度。接受的范围是 [-r, r-1],其中 r = rank(输入)。

  • 最大 - INT(默认为 '1'

    是否返回前 K 个最大或最小元素。

  • 已排序 - INT(默认为 '1'

    是否按排序顺序返回元素。

输入

  • X(异构) - T

    形状为 [a_0, a_1, …, a_{n-1}] 的张量

  • K(异构) - tensor(int64)

    一个包含单个正值的 1 维张量,对应要检索的顶部元素数量

输出

  • (异构) - T

    形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的张量,其中包含来自输入张量的前 K 个值

  • 索引(异构) - I

    形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的张量,其中包含前 K 个值对应的输入张量索引。

类型约束

  • T in ( tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) )

    将输入和输出类型约束为数值张量。

  • I in ( tensor(int64) )

    将索引张量约束为 int64

TopK - 10

版本

  • 名称: TopK (GitHub)

  • : main

  • 自版本起: 10

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此运算符版本已自版本 10 起可用。

摘要

沿着指定轴检索前 K 个元素。给定形状为 [a_0, a_1, …, a_{n-1}] 的输入张量和整数参数 k,返回两个输出:-形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的值张量,其中包含沿着指定轴的前 k 个元素的值-形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的索引张量,其中包含前 k 个元素的索引(来自输入张量的原始索引)。

对于两个相同的值,此运算符使用沿着轴的索引作为决胜因素。也就是说,索引较小的元素将首先出现。

属性

  • 轴 - INT(默认为 '-1'

    进行排序的维度。

输入

  • X(异构) - T

    形状为 [a_0, a_1, …, a_{n-1}] 的张量

  • K(异构) - tensor(int64)

    一个包含单个正值的 1 维张量,对应要检索的顶部元素数量

输出

  • (异构) - T

    形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的张量,其中包含来自输入张量的前 K 个值

  • 索引(异构) - I

    形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的张量,其中包含前 K 个值对应的输入张量索引。

类型约束

  • T in ( tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型约束为浮点数张量。

  • I in ( tensor(int64) )

    将索引张量约束为 int64

TopK - 1

版本

  • 名称: TopK (GitHub)

  • : main

  • 自版本起: 1

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此运算符版本已自版本 1 起可用。

摘要

沿着指定轴检索前 K 个元素。给定形状为 [a_0, a_1, …, a_{n-1}] 的输入张量和整数参数 k,返回两个输出:-形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的值张量,其中包含沿着指定轴的前 k 个元素的值-形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的索引张量,其中包含前 k 个元素的索引(来自输入张量的原始索引)。对于两个相同的值,此运算符使用沿着轴的索引作为决胜因素。也就是说,索引较小的元素将首先出现。

属性

  • 轴 - INT(默认为 '-1'

    进行排序的维度。

  • k - INT(必需)

    要检索的顶部元素数量

输入

  • X(异构) - T

    形状为 [a_0, a_1, …, a_{n-1}] 的张量

输出

  • (异构) - T

    形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的张量,其中包含来自输入张量的前 K 个值

  • 索引(异构) - I

    形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的张量,其中包含前 K 个值对应的输入张量索引。

类型约束

  • T in ( tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型约束为浮点数张量。

  • I in ( tensor(int64) )

    将索引张量约束为 int64