mindspore.ops.Sort

class mindspore.ops.Sort(axis=- 1, descending=False)[source]

Sorts the elements of the input tensor along a given dimension in ascending order by value.

Parameters
• axis (int) – The dimension to sort along. Default: -1.

• descending (bool) – Controls the sorting order. If descending is True then the elements are sorted in descending order by value. Default: False.

Warning

Currently, only the data type of Float16 is supported. If use Float32, it may cause loss of accuracy.

Inputs:
• x (Tensor) - The input to sort, with float16 or float32 data type. The shape is $$(N,*)$$ where $$*$$ means,any number of additional dimensions.

Outputs:
• y1 (Tensor) - A tensor whose values are the sorted values, with the same shape and data type as input.

• y2 (Tensor) - The indices of the elements in the original input tensor. Data type is int32.

Raises
• TypeError – If axis is not an int.

• TypeError – If descending is not a bool.

• TypeError – If dtype of x is neither float16 nor float32.

Supported Platforms:

Ascend GPU CPU

Examples

>>> x = Tensor(np.array([[8, 2, 1], [5, 9, 3], [4, 6, 7]]), mindspore.float16)
>>> sort = ops.Sort()
>>> output = sort(x)
>>> # The output below is based on the Ascend platform.
>>> print(output)
(Tensor(shape=[3, 3], dtype=Float16, value=
[[ 1.0000e+00,  2.0000e+00,  8.0000e+00],
[ 3.0000e+00,  5.0000e+00,  9.0000e+00],
[ 4.0000e+00,  6.0000e+00,  7.0000e+00]]), Tensor(shape=[3, 3], dtype=Int32, value=
[[2, 1, 0],
[2, 0, 1],
[0, 1, 2]]))