mindspore.ops.stack
- mindspore.ops.stack(tensors, axis=0)[源代码]
在指定轴上对输入Tensor序列进行堆叠。
输入秩为 R 的Tensor序列,则输出秩为 (R+1) 的Tensor。
给定输入Tensor的shape为 \((x_1, x_2, ..., x_R)\) 。若输入Tensor的长度为 N 。如果存在 \(axis \ge 0\) ,则输出Tensor的shape为 \((x_1, x_2, ..., x_{axis}, N, x_{axis+1}, ..., x_R)\) 。
- 参数:
tensors (Union[tuple, list]) - 输入多个Tensor对象组成的tuple或list,每个Tensor具有相同shape和数据类型。
axis (int) - 指定堆叠运算的轴。取值范围为[-(R+1), R+1)。默认值:
0
。
- 返回:
堆叠运算后的Tensor,数据类型和 tensors 的相同。
- 异常:
TypeError - tensors 中元素的数据类型不相同。
ValueError - tensors 的长度不大于0,或axis不在[-(R+1),R+1)范围中,或 tensors 中元素的shape不相同。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor, ops >>> input_x1 = Tensor(np.array([0, 1]).astype(np.float32)) >>> input_x2 = Tensor(np.array([2, 3]).astype(np.float32)) >>> output = ops.stack((input_x1, input_x2), 0) >>> print(output) [[0. 1.] [2. 3.]]