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
,则,axis的默认值为0。
- num (int | 可选) - axis轴的长度,一般无需设置,默认值为
None
。
返回
长度为num的Tensor列表, 数据类型与输入Tensor相同,dim为
(D-1)
。
返回类型
list(Tensor)
抛出异常
ValueError
:x.shape[axis]
<= 0 或axis
不在[-D, D)范围内
代码示例
import paddle.fluid as fluid
x = fluid.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