mindspore.ops.Unstack

查看源文件
class mindspore.ops.Unstack(axis=0, num=None)[源代码]

根据指定轴对输入矩阵进行分解,与Stack函数操作相反。 若输入Tensor的rank为 R ,则输出Tensor的rank为 (R-1)

更多参考详见 mindspore.ops.unstack()

参数:
  • axis (int) - 指定矩阵分解的轴。取值范围为[-R,R),默认值: 0

  • num (Union[None, int]) - 输出Tensor的个数。如果设置为 None,则根据 input_x 和 axis 自动推导输出个数。默认值: None

输入:
  • input_x (Tensor) - 输入Tensor,其shape为 \((x_1, x_2, ..., x_R)\) 。rank必须大于0。

输出:

Tensor对象组成的tuple。每个Tensor对象的shape相同。给定一个shape为 \((x_1, x_2, ..., x_R)\) 的Tensor。如果存在 \(0 \le axis\) ,则输出Tensor的shape为 \((x_1, x_2, ..., x_{axis}, x_{axis+2}, ..., x_R)\)

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> unstack = ops.Unstack()
>>> input_x = Tensor(np.array([[1, 1, 1, 1], [2, 2, 2, 2]]))
>>> output = unstack(input_x)
>>> print(output)
(Tensor(shape=[4], dtype=Int64, value= [1, 1, 1, 1]), Tensor(shape=[4], dtype=Int64, value= [2, 2, 2, 2]))