mindspore.ops.split
- mindspore.ops.split(tensor, split_size_or_sections, axis=0)[源代码]
根据指定的轴将输入Tensor切分成块。
- 参数:
tensor (Tensor) - 要被切分的Tensor。
split_size_or_sections (Union[int, tuple(int), list(int)]) - 如果 split_size_or_sections 是int类型, tensor 将被均匀的切分成块,每块的大小为 split_size_or_sections ,若 tensor.shape[axis] 不能被 split_size_or_sections 整除,最后一块大小将小于 split_size_or_sections 。 如果 split_size_or_sections 是个list类型,tensor 将沿 axis 轴被切分成 len(split_size_or_sections) 块,大小为 split_size_or_sections 。
axis (int) - 指定分割轴。默认值:
0
。
- 返回:
tuple[Tensor]。
- 异常:
TypeError - tensor 不是Tensor。
TypeError - axis 不是int类型。
ValueError - 参数 axis 超出 \([-tensor.ndim, tensor.ndim)\) 范围。
TypeError - split_size_or_sections 中的每个元素不是int类型
TypeError - split_size_or_sections 不是int,tuple(int)或list(int)。
ValueError - split_size_or_sections 的和不等于tensor.shape[axis]。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import ops, Tensor >>> input_x = np.arange(9).astype("float32") >>> output = ops.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]))