chunk( x, chunks, axis=0, name=None )
Split the input tensor into multiple sub-Tensors.
x (Tensor) – A N-D Tensor. The data type is bool, float16, float32, float64, int32 or int64.
chunks (int) – The number of tensor to be split along the certain axis.
axis (int|Tensor, optional) – The axis along which to split, it can be a scalar with type
Tensorwith shape  and data type
int64. If :math::axis < 0, the axis to split along is \(rank(x) + axis\). Default is 0.
name (str, optional) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to Name .
The list of segmented Tensors.
- Return type
import numpy as np import paddle # x is a Tensor which shape is [3, 9, 5] x_np = np.random.random([3, 9, 5]).astype("int32") x = paddle.to_tensor(x_np) out0, out1, out2 = paddle.chunk(x, chunks=3, axis=1) # out0.shape [3, 3, 5] # out1.shape [3, 3, 5] # out2.shape [3, 3, 5] # axis is negative, the real axis is (rank(x) + axis) which real # value is 1. out0, out1, out2 = paddle.chunk(x, chunks=3, axis=-2) # out0.shape [3, 3, 5] # out1.shape [3, 3, 5] # out2.shape [3, 3, 5]