mindspore.Tensor.split
- mindspore.Tensor.split(split_size, dim=0)
根据指定的轴将输入Tensor切分成块。
- 参数:
split_size (Union[int, tuple(int), list(int)]) - 如果 split_size 是int类型,输入Tensor将被均匀的切分成块,每块的大小为 split_size ,若 tensor.shape[dim] 不能被 split_size 整除,最后一块大小将小于 split_size 。如果 split_size 是个list类型,输入Tensor将沿 dim 轴被切分成len(split_size)块,大小为 split_size 。
dim (int,可选) - 指定分割轴。默认值:
0
。
- 返回:
tuple[Tensor]。
- 异常:
TypeError - 如果 dim 不是int类型。
ValueError - 如果 dim 超出取值范围 \([-tensor.ndim, tensor.ndim)\) 。
TypeError - split_size 中的每个元素不是int、tuple(int)或者list(int)。
TypeError - split_size 的数据类型不是int、tuple(int)或者list(int)。
ValueError - split_size 的和不等于 x.shape[dim] 。
- 支持平台:
Ascend
样例:
>>> 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]))
- mindspore.Tensor.split(split_size_or_sections, axis=0)
根据指定的轴将输入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 - 如果 axis 不是int类型。
ValueError - 如果 axis 超出取值范围 \([-tensor.ndim, tensor.ndim)\) 。
TypeError - split_size_or_sections 中的每个元素不是int、tuple(int)或者list(int)。
TypeError - split_size_or_sections 的数据类型不是int、tuple(int)或者list(int)。
ValueError - split_size_or_sections 的和不等于 x.shape[axis] 。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> 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]))