paddle. broadcast_to ( x, shape, name=None ) [source]

Broadcast the input tensor to a given shape.

Both the number of dimensions of x and the number of elements in shape should be less than or equal to 6. The dimension to broadcast to must have a value 0.

  • x (Tensor) – The input tensor, its data type is bool, float16, float32, float64, int32, int64, uint8 or uint16.

  • shape (list|tuple|Tensor) – The result shape after broadcasting. The data type is int32. If shape is a list or tuple, all its elements should be integers or 0-D or 1-D Tensors with the data type int32. If shape is a Tensor, it should be an 1-D Tensor with the data type int32. The value -1 in shape means keeping the corresponding dimension unchanged.

  • name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name.


N-D Tensor, A Tensor with the given shape. The data type is the same as x.


>>> import paddle

>>> data = paddle.to_tensor([1, 2, 3], dtype='int32')
>>> out = paddle.broadcast_to(data, shape=[2, 3])
>>> print(out)
Tensor(shape=[2, 3], dtype=int32, place=Place(cpu), stop_gradient=True,
[[1, 2, 3],
 [1, 2, 3]])