oneflow.randint_like¶
-
oneflow.
randint_like
(input, low=0, high, size, *, dtype=None, generator=None, device=None, placement=None, sbp=None, requires_grad=False) → Tensor¶ Returns a tensor filled with random integers generated uniformly between low (inclusive) and high (exclusive).
The interface is consistent with PyTorch. The documentation is referenced from: https://pytorch.org/docs/1.10/generated/torch.randint_like.html.
- Parameters
input (oneflow.Tensor) – the size of
input
will determine size of the output tensor.low (int, optional) – Lowest integer to be drawn from the distribution. Default: 0.
high (int) – One above the highest integer to be drawn from the distribution.
- Keyword Arguments
dtype (oneflow.dtype, optional) – The desired data type of returned tensor. Default:
flow.int64
.generator (oneflow.Generator, optional) –
device (oneflow.device, optional) – The desired device of returned local tensor. If None, uses the current device.
placement (oneflow.placement, optional) – The desired device of returned global tensor. If None, will construct local tensor.
sbp (oneflow.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.
For example:
>>> import oneflow as flow >>> generator = flow.Generator() >>> generator.manual_seed(0) <oneflow._oneflow_internal.Generator object at ...> >>> x = flow.randn(2, 2, generator=generator) >>> y = flow.randint_like(x, 0, 5, generator=generator) # construct local tensor >>> y tensor([[3, 4], [2, 4]], dtype=oneflow.int64) >>> y.is_global False >>> placement = flow.placement("cpu", ranks=[0]) >>> y = flow.randint_like(x, 0, 5, generator=generator, placement=placement, sbp=flow.sbp.broadcast) # construct global tensor >>> y.is_global True