unstack

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

该OP将单个dim为 D 的Tensor沿 axis 轴unpack为 num 个dim为 (D-1) 的Tensor

参数

  • x (Tensor) – 输入x为 dim > 0 的Tensor,

支持的数据类型: float32,float64,int32,int64。

  • axis (int | 可选) – 输入Tensor进行unpack运算所在的轴,axis的范围为:[-D, D)

如果 axis < 0 ,则

unstack - 图1

,axis的默认值为0。

  • num (int | 可选) - axis轴的长度,一般无需设置,默认值为 None

返回

长度为num的Tensor列表, 数据类型与输入Tensor相同,dim为 (D-1)

返回类型

list(Tensor)

抛出异常

  • ValueErrorx.shape[axis] <= 0 或 axis 不在[-D, D)范围内

代码示例

  1. import paddle.fluid as fluid
  2. x = fluid.data(name='x', shape=[2, 3, 5], dtype='float32') #创建一个shape=[2, 3, 5]的Tensor
  3. y = fluid.layers.unstack(x, axis=1) #沿着第1轴进行unpack, unpack后为3个shape=[2,5]的Tensor