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 | Tensor. Должен иметь один из следующих типов: float32, float64, int32, uint8, int16, int8, int64, bfloat16, uint16, half, uint32, uint64. Ранг 1 или выше; размер последнего измерения должен быть не меньше k. |
k | int типа >= 0. Количество наибольших элементов, которые нужно найти вдоль последнего измерения (в каждой строке для матриц). |
sorted | Необязательный bool. По умолчанию — True. Если значение равно true, результирующие элементы k будут отсортированы по значениям в порядке убывания. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
Кортеж из Tensor объектов (значения, индексы). | |
values | Tensor. Имеет тот же тип, что и input. |
indices | 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