mindspore.ops.sort
- mindspore.ops.sort(input_x, axis=- 1, descending=False)[source]
Sorts the elements of the input tensor along the given dimension in the specified order.
- Parameters
input_x (Tensor) – The input tensor to sort. The shape is \((N,*)\) where \(*\) means, any number of additional dimensions.
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, the elements are sorted in descending order, or else sorted in ascending order. Default:
False
.
Warning
Currently, the data types of float16, uint8, int8, int16, int32, int64 are well supported. If use float32, it may cause loss of accuracy.
- Returns
y1, a tensor whose values are the sorted values, with the same shape and data type as input.
y2, a tensor that consists of 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 input_x is neither float16, float32, uint8, int8, int16, int32, int64.
ValueError – If axis is not in range of [-len(input_x.shape), len(input_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) >>> output = ops.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]]))