mindspore.Tensor.split

Tensor.split(axis=0, output_num=1)[source]

Splits a tensor into output_num of tensors along the given axis and output numbers.

The tensor will be split into equally sized sub-tensors. This requires that self.shape(axis) is divisible by output_num.

Parameters
  • axis (int) – Index of the split position. Default: 0.

  • output_num (int) – The number of output tensors. Must be positive int. Default: 1.

Returns

tuple[Tensor], the shape of each output tensor is the same, which is \((y_1, y_2, ..., y_S)\). And the data type is the same with the tensor.

Raises
  • TypeError – If axis or output_num is not an int.

  • ValueError – If axis is out of the range [-len(self.shape), len(self.shape)), or if the output_num is less than or equal to 0.

  • ValueError – If self.shape(axis) is not divisible by output_num.

Supported Platforms:

Ascend GPU CPU

Examples

>>> x = Tensor(np.array([[1, 1, 1, 1], [2, 2, 2, 2]]), mindspore.int32)
>>> print(x)
[[1 1 1 1]
 [2 2 2 2]]
>>> output = x.split(1, 2)
>>> print(output)
(Tensor(shape=[2, 2], dtype=Int32, value=
[[1, 1],
 [2, 2]]), Tensor(shape=[2, 2], dtype=Int32, value=
[[1, 1],
 [2, 2]]))