unstack

paddle.fluid.layers.unstack(x, axis=0, num=None)[source]

UnStack Layer

This layer unstacks input Tensor x into several Tensors along axis.

If axis < 0, it would be replaced with axis+rank(x). If num is None, it would be inferred from x.shape[axis], and if x.shape[axis] <= 0 or is unknown, ValueError is raised.

Parameters
  • x (Variable) – Input Tensor. It is a N-D Tensors of data types float32, float64, int32, int64.

  • axis (int) – The axis along which the input is unstacked.

  • num (int|None) – The number of output variables.

Returns

The unstacked Tensors list. The list elements are N-D Tensors of data types float32, float64, int32, int64.

Return type

list(Variable)

Raises

ValueError – If x.shape[axis] <= 0 or axis is not in range [-D, D).

Examples

import paddle.fluid as fluid
x = fluid.layers.data(name='x', shape=[2, 3, 5], dtype='float32')  # create a tensor with shape=[2, 3, 5]
y = fluid.layers.unstack(x, axis=1)  # unstack with second axis, which results 3 tensors with shape=[2, 5]