unflatten¶
- paddle. unflatten ( x, axis, shape, name=None ) [source]
-
Expand a certain dimension of the input x Tensor into a desired shape.
- Parameters
-
x (Tensor) – An N-D Tensor. The data type is float16, float32, float64, int16, int32, int64, bool, uint16.
axis (int) –
axis
to be unflattened, specified as an index into x.shape.shape (list|tuple|Tensor) – Unflatten
shape
on the specifiedaxis
. At most one dimension of the targetshape
can be -1. If the inputshape
does not contain -1 , the product of all elements inshape
should be equal tox.shape[axis]
. The data type is int . Ifshape
is a list or tuple, the elements of it should be integers or Tensors with shape []. Ifshape
is an Tensor, it should be an 1-D Tensor.name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None.
- Returns
-
Tensor, return the unflatten tensor of
x
.
Examples
import paddle x = paddle.randn(shape=[4, 6, 8]) shape = [2, 3] axis = 1 res = paddle.unflatten(x, axis, shape) print(res.shape) # [4, 2, 3, 8] x = paddle.randn(shape=[4, 6, 8]) shape = (-1, 2) axis = -1 res = paddle.unflatten(x, axis, shape) print(res.shape) # [4, 6, 4, 2] x = paddle.randn(shape=[4, 6, 8]) shape = paddle.to_tensor([2, 2]) axis = 0 res = paddle.unflatten(x, axis, shape) print(res.shape) # [2, 2, 6, 8]