mindspore.Tensor.split
- Tensor.split(split_size, dim=0)
Splits the Tensor into chunks along the given dim.
- Parameters
split_size (Union[int, tuple(int), list(int)]) – If split_size is an int type, tensor will be split into equally sized chunks, each chunk with size split_size. Last chunk will be smaller than split_size if tensor.shape[dim] is not divisible by split_size. If split_size is a list type, then tensor will be split into len(split_size) chunks with sizes split_size along the given dim.
dim (int, optional) – The dim along which to split. Default:
0
.
- Returns
A tuple of sub-tensors.
- Raises
TypeError – If argument dim is not int.
ValueError – If argument dim is out of range of \([-tensor.ndim, tensor.ndim)\).
TypeError – If each element in split_size is not integer.
TypeError – If argument split_size is not int, tuple(int) or list(int).
ValueError – The sum of split_size is not equal to x.shape[dim].
- Supported Platforms:
Ascend
Examples
>>> import numpy as np >>> from mindspore import Tensor >>> input_x = np.arange(9).astype("float32") >>> output = 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]))
- Tensor.split(split_size_or_sections, axis=0)
Splits the Tensor into chunks along the given axis.
- Parameters
split_size_or_sections (Union[int, tuple(int), list(int)]) – If split_size_or_sections is an int type, tensor will be split into equally sized chunks, each chunk with size split_size_or_sections. Last chunk will be smaller than split_size_or_sections if tensor.shape[axis] is not divisible by split_size_or_sections. If split_size_or_sections is a list type, then tensor will be split into len(split_size_or_sections) chunks with sizes split_size_or_sections along the given axis.
axis (int, optional) – The axis along which to split. Default:
0
.
- Returns
A tuple of sub-tensors.
- Raises
TypeError – If argument axis is not int.
ValueError – If argument axis is out of range of \([-tensor.ndim, tensor.ndim)\).
TypeError – If each element in split_size_or_sections is not integer.
TypeError – If argument split_size_or_sections is not int, tuple(int) or list(int).
ValueError – The sum of split_size_or_sections is not equal to x.shape[axis].
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import numpy as np >>> from mindspore import Tensor >>> input_x = np.arange(9).astype("float32") >>> output = 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]))