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.

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.]]]