tf.raw_ops.TopK
Находит значения и индексы k наибольших элементов для последнего измерения.
tf.raw_ops.TopK(
input, k, sorted=True, name=None
)
Если вход является вектором (ранг-1), находит k наибольших элементов в векторе и выводит их значения и индексы как векторы. Таким образом, values[j] является j-м наибольшим элементом в input, а его индекс — indices[j].
Для матриц (соответственно, для входных данных более высокого ранга) вычисляет k наибольших элементов в каждой строке (соответственно, в векторе вдоль последнего измерения). Таким образом,
values.shape = indices.shape = input.shape[:-1] + [k]
Если два элемента равны, элемент с меньшим индексом появляется раньше.
Если k изменяется динамически, используйте TopKV2 ниже.
| Аргументы | |
|---|---|
input | A Tensor. Должен быть одним из следующих типов: float32, float64, int32, uint8, int16, int8, int64, bfloat16, uint16, half, uint32, uint64. 1-D или выше с последним измерением не менее k. |
k | An int that is >= 0. Количество интересующих наибольших элементов вдоль последнего измерения (по каждой строке для матриц). |
sorted | Необязательный bool. По умолчанию True. Если true, результирующие k элементы будут отсортированы по значениям в порядке убывания. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
Кортеж из Tensor объектов (значения, индексы). | |
values | A Tensor. Имеет тот же тип, что и input. |
indices | A Tensor типа int32. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/raw_ops/TopK