unstack

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

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

参数:
  • x (Variable) – 输入x为 dim > 0 的Tensor,

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

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

如果 axis < 0 ,则 \(axis = axis + dim(x)\),axis的默认值为0。

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

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

返回类型: list(Variable)

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

代码示例

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