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-D 張量

輸出

  • (異質) - 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 在 (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 開始提供。

摘要

沿著指定的軸擷取前 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-D 張量

輸出

  • (異質) - 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 在 ( tensor(double), tensor(float), tensor(float16) ) 中

    將輸入和輸出類型限制為浮點張量。

  • I 在 ( 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 在 ( tensor(double), tensor(float), tensor(float16) ) 中

    將輸入和輸出類型限制為浮點張量。

  • I 在 ( tensor(int64) ) 中

    將索引張量限制為 int64