mindspore.ops.split

mindspore.ops.split(input_x, axis=0, output_num=1)[源代码]

根据指定的轴和分割数量对输入Tensor进行分割。

input_x Tensor将被分割为相同shape的子Tensor。要求 input_x.shape(axis) 可被 output_num 整除。

参数:
  • input_x (Tensor) - Tensor的shape为 \((x_1, x_2, ..., x_R)\)

  • axis (int) - 指定分割轴。默认值:0。

  • output_num (int) - 指定分割数量。其值为正整数。默认值:1。

返回:

tuple[Tensor],每个输出Tensor的shape相同,即 \((y_1, y_2, ..., y_S)\) 。数据类型与 input_x 的相同。

异常:
  • TypeError - axisoutput_num 不是int。

  • ValueError - axis 超出[-len(input_x.shape), len(input_x.shape))范围。或 output_num 小于或等于0。

  • ValueError - input_x.shape(axis) 不可被 output_num 整除。

支持平台:

Ascend GPU CPU

样例:

>>> 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 = ops.split(x, 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]]))
>>> output = ops.split(x, 1, 4)
>>> print(output)
(Tensor(shape=[2, 1], dtype=Int32, value=
[[1],
 [2]]), Tensor(shape=[2, 1], dtype=Int32, value=
[[1],
 [2]]), Tensor(shape=[2, 1], dtype=Int32, value=
[[1],
 [2]]), Tensor(shape=[2, 1], dtype=Int32, value=
[[1],
 [2]]))