Функция argsort
Функция argsort применяется к тензору и возвращает
тензор индексов, которые упорядочили бы элементы
исходного тензора по возрастанию вдоль заданной оси.
Первым параметром передаётся тензор со значениями.
Вторым параметром можно передать номер оси, вдоль
которой выполняется сортировка. Третьим параметром
можно передать направление сортировки.
Синтаксис
tf.argsort(values, axis=-1, direction='ASCENDING', stable=False, name=None)
Пример
Давайте создадим тензор из чисел и получим индексы, которые отсортировали бы их по возрастанию:
import tensorflow as tf
t = tf.constant([3, 1, 5, 2, 4])
res = tf.argsort(t)
print(res)
Результат выполнения кода:
tf.Tensor([1 3 0 4 2], shape=(5,), dtype=int32)
Пример
Давайте передадим направление сортировки
DESCENDING, чтобы получить индексы для
убывающего порядка:
Результат выполнения кода:
tf.Tensor([2 4 0 3 1], shape=(5,), dtype=int32)
Пример
Давайте применим функцию к двумерному тензору
и отсортируем индексы вдоль оси 0:
Результат выполнения кода:
tf.Tensor(
[[1 0 1]
[0 1 0]], shape=(2, 3), dtype=int32)
Пример
Давайте применим функцию к двумерному тензору
и отсортируем индексы вдоль оси 1:
Результат выполнения кода:
tf.Tensor(
[[1 0 2]
[2 0 1]], shape=(2, 3), dtype=int32)