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]))