Returns the indices of a tensor that give its sorted order along an axis.
Aliases:
tf.compat.v1.argsorttf.compat.v2.argsort
tf.argsort(
values,
axis=-1,
direction='ASCENDING',
stable=False,
name=None
)
tf.sort(values)For a 1D tensor, tf.gather(values, tf.argsort(values)) is equivalent to . For higher dimensions, the output has the same shape as values, but along the given axis, values represent the index of the sorted element in that slice of the tensor at the given position.
Usage:
import tensorflow as tf
a = [1, 10, 26.9, 2.8, 166.32, 62.3]
b = tf.argsort(a,axis=-1,direction='ASCENDING',stable=False,name=None)
c = tf.keras.backend.eval(b)
# Here, c = [0 3 1 2 5 4]
Args:
values: 1-D or higher numericTensor.axis: Theaxisalong which to sort. The default is -1, which sorts the lastaxis.direction: Thedirectionin which to sort thevalues('ASCENDING'or'DESCENDING').stable: If True, equal elements in the original tensor will not be re-ordered in the returned order. Unstablesort is not yet implemented, but will eventually be the default for performance reasons. If you require astableorder, passstable=True for forwards compatibility.name: Optionalnamefor the operation.
Returns:
An int32 Tensor with the same shape as values. The indices that would sort each slice of the given values along the given axis.
Raises:
ValueError: If axis is not a constant scalar, or the direction is invalid.