Table of Contents
Shortcuts

# torch.sort

torch.sort(input, dim=- 1, descending=False, stable=False, *, out=None)

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

  If `dim` is not given, the last dimension of the input is chosen.

  If `descending` is `True` then the elements are sorted in descending order by value.

  If `stable` is `True` then the sorting routine becomes stable, preserving the order of equivalent elements.

  A namedtuple of (values, indices) is returned, where the values are the sorted values and indices are the indices of the elements in the original input tensor.

  Parameters:

    - input (Tensor) – the input tensor.

    - dim (int, optional) – the dimension to sort along

    - descending (bool, optional) – controls the sorting order (ascending or descending)

    - stable (bool, optional) – makes the sorting routine stable, which guarantees that the order of equivalent elements is preserved.

  Keyword Arguments:

    out (tuple, optional) – the output tuple of (Tensor, LongTensor) that can be optionally given to be used as output buffers

  Example:

      >>> x = torch.randn(3, 4)
      >>> sorted, indices = torch.sort(x)
      >>> sorted
      tensor([[-0.2162,  0.0608,  0.6719,  2.3332],
              [-0.5793,  0.0061,  0.6058,  0.9497],
              [-0.5071,  0.3343,  0.9553,  1.0960]])
      >>> indices
      tensor([[ 1,  0,  2,  3],
              [ 3,  1,  0,  2],
              [ 0,  3,  1,  2]])

      >>> sorted, indices = torch.sort(x, 0)
      >>> sorted
      tensor([[-0.5071, -0.2162,  0.6719, -0.5793],
              [ 0.0608,  0.0061,  0.9497,  0.3343],
              [ 0.6058,  0.9553,  1.0960,  2.3332]])
      >>> indices
      tensor([[ 2,  0,  0,  1],
              [ 0,  1,  1,  2],
              [ 1,  2,  2,  0]])
      >>> x = torch.tensor([0, 1] * 9)
      >>> x.sort()
      torch.return_types.sort(
          values=tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1]),
          indices=tensor([ 2, 16,  4,  6, 14,  8,  0, 10, 12,  9, 17, 15, 13, 11,  7,  5,  3,  1]))
      >>> x.sort(stable=True)
      torch.return_types.sort(
          values=tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1]),
          indices=tensor([ 0,  2,  4,  6,  8, 10, 12, 14, 16,  1,  3,  5,  7,  9, 11, 13, 15, 17]))

## Docs

Access comprehensive developer documentation for PyTorch

View Docs

## Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

## Resources

Find development resources and get your questions answered

View Resources

To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.