mindspore.ops.tile

View Source On Gitee
mindspore.ops.tile(input, dims)[source]

Creates a new tensor by repeating the elements in the input tensor dims times.

The i'th dimension of output tensor has input.shape[i] * dims[i] elements, and the values of input are repeated dims[i] times along the i'th dimension.

Note

  • On Ascend, the number of dims should not exceed 8, and currently does not support scenarios where more than 4 dimensions are repeated simultaneously.

  • If input.dim = d, then the shape of their corresponding positions can be multiplied, and the shape of Outputs is \((x_1*y_1, x_2*y_2, ..., x_S*y_S)\).

  • If input.dim < d, prepend 1 to the shape of input until their lengths are consistent. Such as set the shape of input as \((1, ..., x_1, x_2, ..., x_S)\), then the shape of their corresponding positions can be multiplied, and the shape of Outputs is \((1*y_1, ..., x_R*y_R, x_S*y_S)\).

  • If input.dim > d, prepend 1 to dims until their lengths are consistent. Such as set the dims as \((1, ..., y_1, y_2, ..., y_S)\), then the shape of their corresponding positions can be multiplied, and the shape of Outputs is \((x_1*1, ..., x_R*y_R, x_S*y_S)\).

Parameters
  • input (Tensor) – The input tensor.

  • dims (tuple[int]) – The specified number of repetitions in each dimension.

Returns

Tensor

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> input = mindspore.tensor([[1, 2], [3, 4]])
>>> mindspore.ops.tile(input, (2, 3))
Tensor(shape=[4, 6], dtype=Int64, value=
[[1, 2, 1, 2, 1, 2],
 [3, 4, 3, 4, 3, 4],
 [1, 2, 1, 2, 1, 2],
 [3, 4, 3, 4, 3, 4]])
>>> mindspore.ops.tile(input, (2, 3, 2))
Tensor(shape=[2, 6, 4], dtype=Int64, value=
[[[1, 2, 1, 2],
  [3, 4, 3, 4],
  [1, 2, 1, 2],
  [3, 4, 3, 4],
  [1, 2, 1, 2],
  [3, 4, 3, 4]],
 [[1, 2, 1, 2],
  [3, 4, 3, 4],
  [1, 2, 1, 2],
  [3, 4, 3, 4],
  [1, 2, 1, 2],
  [3, 4, 3, 4]]])