Spec-Zone.ru › TensorFlow

tf.argsort

Возвращает индексы тензора, задающие порядок его элементов при сортировке вдоль оси.

Просмотреть псевдонимы

Псевдонимы для обеспечения совместимости при миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.argsort

tf.argsort(
    values, axis=-1, direction='ASCENDING', stable=False, name=None
)

Используется в блокнотах

Используется в учебных материалах
  • MoViNet для потокового распознавания действий
  • Классификация изображений с TensorFlow Hub
  • Эффективное для клиента федеративное обучение больших моделей с помощью `federated_select` и разреженной агрегации
values = [1, 10, 26.9, 2.8, 166.32, 62.3]
sort_order = tf.argsort(values)
sort_order.numpy()
array([0, 3, 1, 2, 5, 4], dtype=int32)

Для одномерного тензора:

sorted = tf.gather(values, sort_order)
assert tf.reduce_all(sorted == tf.sort(values))

Для тензоров более высокой размерности результат имеет ту же форму, что и values, но вдоль указанной оси значения представляют собой индекс отсортированного элемента в соответствующем срезе тензора.

mat = [[30,20,10],
       [20,10,30],
       [10,30,20]]
indices = tf.argsort(mat)
indices.numpy()
array([[2, 1, 0],
       [1, 0, 2],
       [0, 2, 1]], dtype=int32)

Если axis=-1, эти индексы можно использовать для сортировки с помощью tf.gather:

tf.gather(mat, indices, batch_dims=-1).numpy()
array([[10, 20, 30],
       [10, 20, 30],
       [10, 20, 30]], dtype=int32)
См. также
  • tf.sort: сортировка вдоль оси.
  • tf.math.top_k: частичная сортировка, возвращающая фиксированное количество наибольших значений и соответствующих индексов.
Аргументы
values Числовой Tensor одномерной или большей размерности.
axis Ось, вдоль которой выполняется сортировка. По умолчанию используется значение -1, то есть сортировка по последней оси.
direction Направление сортировки значений ('ASCENDING' или 'DESCENDING').
stable Если значение равно True, элементы исходного тензора с одинаковыми значениями не будут менять порядок в результате. Нестабильная сортировка пока не реализована, но в конечном итоге станет использоваться по умолчанию из соображений производительности. Если требуется стабильный порядок, для обеспечения совместимости с будущими версиями передайте stable=True.
name Необязательное имя операции.
Возвращает
Тензор int32 Tensor той же формы, что и values. Индексы, которые упорядочивают каждый срез заданного values вдоль указанной axis.
Вызывает исключения
ValueError Если axis не является константным скаляром или направление указано неверно.
tf.errors.InvalidArgumentError Если values.dtype имеет тип, отличный от float или int.

© 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/argsort

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API