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)

Для тензора 1D:

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 1-D или многомерный числовой Tensor.
axis Ось, по которой должна производиться сортировка. По умолчанию -1, что сортирует последнюю ось.
direction Направление сортировки значений ('ASCENDING' или 'DESCENDING').
stable Если True, равные элементы в исходном тензоре не будут переупорядочены в возвращаемом порядке. Нестабильная сортировка пока не реализована, но впоследствии станет по умолчанию по соображениям производительности. Если требуется стабильный порядок, передайте stable=True для совместимости в будущем.
name Необязательное имя для операции.
Возвращаемое значение
Целочисленный тензор int32 Tensor с такой же формой, как и values. Индексы, которые отсортируют каждый срез заданного values вдоль заданной axis.
Исключения
ValueError Если ось не является константой, или направление некорректно.
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