mindspore.mint.repeat_interleave

View Source On AtomGit
mindspore.mint.repeat_interleave(input, repeats, dim=None, *, output_size=None) Tensor[source]

Repeat elements of a tensor along an axis, like mindspore.numpy.repeat().

Warning

Only support on Atlas A2 training series.

Parameters
  • input (Tensor) – The input tensor.

  • repeats (Union[int, tuple, list, Tensor]) – The number of times to repeat, must be positive.

  • dim (int, optional) – The dim along which to repeat, Default None. If dim is None, the input tensor will be flattened and the output will alse be flattened.

Keyword Arguments

output_size (int, optional) – Total output size for the given axis (e.g. sum of repeats), Default None.

Returns

Tensor, values repeated along the specified dimension. If input has shape \((s1, s2, ..., sn)\) and dim is i, the output will have shape \((s1, s2, ..., si * repeats, ..., sn)\). The output type will be the same as the type of input.

Supported Platforms:

Ascend

Examples

>>> import mindspore
>>> input = mindspore.tensor([[0, 1, 2], [3, 4, 5]])
>>> mindspore.mint.repeat_interleave(input, repeats=2, dim=0)
    Tensor(shape=[4, 3], dtype=Int64, value=
    [[0, 1, 2],
     [0, 1, 2],
     [3, 4, 5],
     [3, 4, 5]])
>>> mindspore.mint.repeat_interleave(input, repeats=[1,2], dim=0)
    Tensor(shape=[3, 3], dtype=Int64, value=
    [[0, 1, 2],
     [3, 4, 5],
     [3, 4, 5]])
>>> mindspore.mint.repeat_interleave(input, repeats=2, dim=1)
    Tensor(shape=[2, 6], dtype=Int64, value=
    [[0, 0, 1, 1, 2, 2],
     [3, 3, 4, 4, 5, 5]])
>>> mindspore.mint.repeat_interleave(input, repeats=[1,2], dim=0, output_size=3)
    Tensor(shape=[3, 3], dtype=Int64, value=
    [[0, 1, 2],
     [3, 4, 5],
     [3, 4, 5]])