mindspore.mint.tile
- mindspore.mint.tile(input, dims)[source]
Creates a new tensor by replicating input dims times. The i'th dimension of output tensor has input.shape[i] * dims[i] elements, and the values of input are replicated 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.
- Parameters
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.
- Returns
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
Examples
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, mint >>> input = Tensor(np.array([[1, 2], [3, 4]]), mindspore.float32) >>> dims = (2, 3) >>> output = mint.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 = mint.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.]]]