mindspore.ops.Tile

View Source On Gitee
class mindspore.ops.Tile[source]

Replicates an input tensor with given multiple times.

Refer to mindspore.ops.tile() for more details.

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.

Inputs:
  • input (Tensor) - The tensor whose elements need to be repeated. Set the shape of input tensor as \((x_1, x_2, ..., x_S)\) .

  • dims (tuple[int]) - The parameter that specifies the number of replications, the parameter type is tuple, and the data type is int, i.e., \((y_1, y_2, ..., y_S)\). Only constant value is allowed.

Outputs:

Tensor, has the same data type as the input. Suppose the length of dims is d, the dimension of input is input.dim, and the shape of input is \((x_1, x_2, ..., x_S)\).

  • 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)\).

Raises
  • TypeError – If dims is not a tuple or its elements are not all int.

  • ValueError – If the elements of dims are not all greater than or equal to 0.

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> tile = ops.Tile()
>>> input = Tensor(np.array([[1, 2], [3, 4]]), mindspore.float32)
>>> dims = (2, 3)
>>> output = tile(input, dims)
>>> print(output)
[[1.  2.  1.  2.  1.  2.]
 [3.  4.  3.  4.  3.  4.]
 [1.  2.  1.  2.  1.  2.]
 [3.  4.  3.  4.  3.  4.]]
>>> dims = (2, 3, 2)
>>> output = tile(input, dims)
>>> print(output)
[[[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.]]]