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-мерный или многомерный массив, с последним измерением не менее k. |
k | Целое число, которое является >= 0. Количество искомых наибольших элементов вдоль последнего измерения (по каждой строке для матриц). |
sorted | Необязательное логическое значение. По умолчанию равно True. Если True, результирующие отсортированные элементы будут упорядочены по значениям в порядке убывания. |
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/api_docs/python/tf/raw_ops/TopK