oneflow.randperm

oneflow.randperm(n, *, generator=None, dtype=torch.int64, device=None, placement=None, sbp=None, requires_grad=False)Tensor

Returns a random permutation of integers from 0 to n - 1.

Parameters

n (int) – the upper bound (exclusive)

Keyword Arguments
  • generator (oneflow.Generator, optional) – a pseudorandom number generator for sampling

  • dtype (oneflow.dtype, optional) – the desired data type of returned tensor. Default: oneflow.int64.

  • device – the desired device of returned tensor. Default: cpu.

  • placement – (flow.placement, optional): The desired device of returned global tensor. If None, will construct local tensor.

  • sbp – (flow.sbp, optional): The desired sbp of returned global tensor. It must be equal with the numbers of placement.

  • requires_grad (bool, optional) – If autograd should record operations on the returned tensor. Default: False.

Example:

>>> import oneflow as flow
>>> generator = flow.Generator()
>>> generator.manual_seed(0) 
<oneflow._oneflow_internal.Generator object at ...>
>>> y = flow.randperm(5, generator=generator) # construct local tensor
>>> y
tensor([2, 4, 3, 0, 1], dtype=oneflow.int64)
>>> y.is_global
False
>>> placement = flow.placement("cpu", ranks=[0])
>>> y = flow.randperm(5, generator=generator, placement=placement, sbp=flow.sbp.broadcast) # construct global tensor
>>> y.is_global
True