mindspore.ops.tensor_split
- mindspore.ops.tensor_split(input, indices_or_sections, axis=0)[source]
Splits a tensor into multiple sub-tensors along the given axis.
- Parameters
input (Tensor) – A Tensor to be divided.
indices_or_sections (Union[int, tuple(int), list(int)]) –
If indices_or_sections is an integer n, input tensor will be split into n sections.
If \(input.shape(axis)\) can be divisible by n, sub-sections will have equal size \(input.shape(axis) / n\) .
If \(input.shape(axis)\) is not divisible by n, the first \(input.shape(axis) % n\) sections will have size \(input.shape(axis) // n + 1\) , and the rest will have size \(input.shape(axis) // n\) .
If indices_or_sections is of type tuple(int) or list(int), the input tensor will be split at the indices in the list or tuple. For example, given parameters \(indices\_or\_sections=[1, 4]\) and \(axis=0\) , the input tensor will be split into sections \(input[:1]\) , \(input[1:4]\) , and \(input[4:]\) .
axis (int) – The axis along which to split. Default:
0
.
- Returns
A tuple of sub-tensors.
- Raises
TypeError – If argument input is not Tensor.
TypeError – If argument axis is not int.
ValueError – If argument axis is out of range of \([-input.ndim, input.ndim)\) .
TypeError – If each element in ‘indices_or_sections’ is not integer.
TypeError – If argument indices_or_sections is not int, tuple(int) or list(int).
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import numpy as np >>> from mindspore import Tensor, ops >>> input_x = np.arange(9).astype("float32") >>> output = ops.tensor_split(Tensor(input_x), 3) >>> print(output) (Tensor(shape=[3], dtype=Float32, value= [ 0.00000000e+00, 1.00000000e+00, 2.00000000e+00]), Tensor(shape=[3], dtype=Float32, value= [ 3.00000000e+00, 4.00000000e+00, 5.00000000e+00]), Tensor(shape=[3], dtype=Float32, value= [ 6.00000000e+00, 7.00000000e+00, 8.00000000e+00]))