mindspore.ops.Sort
- class mindspore.ops.Sort(axis=- 1, descending=False)[source]
Sorts the elements of the input tensor along the given dimension in the specified order.
Warning
Currently, the data types of float16, uint8, int8, int16, int32, int64 are well supported. If use float32, it may cause loss of accuracy.
- Parameters
axis (int, optional) – The dimension to sort along. Default:
-1
, means the last dimension. The Ascend backend only supports sorting the last dimension.descending (bool, optional) – Controls the sort order. If descending is
True
then the elements are sorted in descending order by value. Default:False
.
- Inputs:
x (Tensor) - The input tensor.
- 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.
ValueError – If axis is not in range of [-len(x.shape), len(x.shape)).
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, ops >>> 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]]))