unbind

paddle.unbind ( input, axis=0 ) [源代码]

该OP将输入Tensor按照指定的维度分割成多个子Tensor。

参数

  • input (Tensor) - 输入变量,数据类型为float32,float64,int32,int64的多维Tensor。

  • axis (int32|int64,可选) - 数据类型为int32或int64,表示需要分割的维度。如果axis < 0,则划分的维度为rank(input) + axis。默认值为0。

返回

Tensor, 分割后的Tensor列表。

代码示例

  1. import paddle
  2. import numpy as np
  3. # input is a Tensor which shape is [3, 4, 5]
  4. np_input = np.random.rand(3, 4, 5).astype('float32')
  5. input = paddle.to_tensor(np_input)
  6. [x0, x1, x2] = paddle.unbind(input, axis=0)
  7. # x0.shape [4, 5]
  8. # x1.shape [4, 5]
  9. # x2.shape [4, 5]
  10. [x0, x1, x2, x3] = paddle.unbind(input, axis=1)
  11. # x0.shape [3, 5]
  12. # x1.shape [3, 5]
  13. # x2.shape [3, 5]
  14. # x3.shape [3, 5]