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]