Spec-Zone.ru › TensorFlow
tf.sort
Сортирует тензор.
tf.sort(
values, axis=-1, direction='ASCENDING', name=None
)
Используется в блокнотах Используется в руководствах
Использование:
a = [1, 10, 26.9, 2.8, 166.32, 62.3]
tf.sort(a).numpy()
array([ 1. , 2.8 , 10. , 26.9 , 62.3 , 166.32], dtype=float32)
tf.sort(a, direction='DESCENDING').numpy()
array([166.32, 62.3 , 26.9 , 10. , 2.8 , 1. ], dtype=float32) Для многомерных входных данных можно указать ось, вдоль которой будет выполняться сортировка. По умолчанию axis=-1 выполняет сортировку по самой внутренней оси.
mat = [[3,2,1],
[2,1,3],
[1,3,2]]
tf.sort(mat, axis=-1).numpy()
array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3]], dtype=int32)
tf.sort(mat, axis=0).numpy()
array([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]], dtype=int32)
См. также
tf.argsort : Как и sort, но возвращает индексы отсортированных элементов.
tf.math.top_k : Частичная сортировка, возвращающая фиксированное количество наибольших значений и соответствующие индексы.
Аргументы
values Одномерный или многомерный числовой Tensor.
axis Ось, вдоль которой выполняется сортировка. По умолчанию используется -1 — сортировка по последней оси.
direction Направление сортировки значений ('ASCENDING' или 'DESCENDING').
name Необязательное имя операции.
Возвращает Tensor с теми же типом данных и формой, что и у values, элементы которого отсортированы вдоль указанной axis.
Вызывает исключения
tf.errors.InvalidArgumentError Если values.dtype не является типом float или int.
ValueError Если axis не является константным скаляром или указано недопустимое направление.