mindspore.ops.unstack
- mindspore.ops.unstack(input_x, axis=0)[源代码]
根据指定轴对输入矩阵进行分解,与
mindspore.ops.stack()
函数操作相反。 若输入Tensor的rank为 R ,则输出Tensor的rank为 (R-1) 。- 参数:
input_x (Tensor) - 输入Tensor,其shape为 \((x_1, x_2, ..., x_R)\) 。rank必须大于0。
axis (int) - 指定矩阵分解的轴。取值范围为[-R,R),默认值:
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)\) 。
- 异常:
ValueError - axis超出[-len(input_x.shape), len(input_x.shape))范围。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor, ops >>> input_x = Tensor(np.array([[1, 1, 1, 1], [2, 2, 2, 2]])) >>> output = ops.unstack(input_x, 0) >>> print(output) (Tensor(shape=[4], dtype=Int64, value= [1, 1, 1, 1]), Tensor(shape=[4], dtype=Int64, value= [2, 2, 2, 2]))