TopK

TopK - 11

版本

  • 名称: TopK (GitHub)

  • : main

  • 起始版本: 11

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

该算子版本自版本 11 起可用。

摘要

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

  • 形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的值张量,包含沿指定轴的 Top-K 元素的值。

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

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

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

  • 如果“sorted”为 0,则返回的 'Values' 和 'Indices' 的顺序未定义。

给定两个相等的值,该算子使用沿轴的索引作为打破平局的规则。也就是说,索引较小的元素将先出现。

属性

  • axis - INT(默认值为 '-1'

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

  • largest - INT(默认值为 '1'

    是否返回 Top-K 最大或最小元素。

  • sorted - INT(默认值为 '1'

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

输入

  • X (异构) - T

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

  • K (异构) - tensor(int64)

    一个 1 维张量,包含一个正值,表示要检索的 Top 元素数量

输出

  • Values (异构) - T

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

  • Indices (异构) - I

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

类型约束

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

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

  • I 属于 ( tensor(int64) )

    将索引张量约束为 int64

TopK - 10

版本

  • 名称: TopK (GitHub)

  • : main

  • 起始版本: 10

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

该算子版本自版本 10 起可用。

摘要

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

给定两个相等的值,该算子使用沿轴的索引作为打破平局的规则。也就是说,索引较小的元素将先出现。

属性

  • axis - INT(默认值为 '-1'

    进行排序的维度。

输入

  • X (异构) - T

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

  • K (异构) - tensor(int64)

    一个 1 维张量,包含一个正值,表示要检索的 Top 元素数量

输出

  • Values (异构) - T

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

  • Indices (异构) - I

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

类型约束

  • T 属于 ( tensor(double), tensor(float), tensor(float16) )

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

  • I 属于 ( tensor(int64) )

    将索引张量约束为 int64

TopK - 1

版本

  • 名称: TopK (GitHub)

  • : main

  • 起始版本: 1

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

该算子版本自版本 1 起可用。

摘要

沿指定轴检索 Top-K 元素。给定形状为 [a_0, a_1, …, a_{n-1}] 的输入张量和整数参数 k,返回两个输出:-形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的值张量,包含沿指定轴的 Top-K 元素的值;-形状为 [a_0, a_1, …, a_{axis-1}, k, a_{axis+1}, … a_{n-1}] 的索引张量,包含 Top-K 元素的索引(来自输入张量的原始索引)。给定两个相等的值,该算子使用沿轴的索引作为打破平局的规则。也就是说,索引较小的元素将先出现。

属性

  • axis - INT(默认值为 '-1'

    进行排序的维度。

  • k - INT(必需)

    要检索的 Top 元素数量

输入

  • X (异构) - T

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

输出

  • Values (异构) - T

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

  • Indices (异构) - I

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

类型约束

  • T 属于 ( tensor(double), tensor(float), tensor(float16) )

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

  • I 属于 ( tensor(int64) )

    将索引张量约束为 int64