mindspore.ops.stack

mindspore.ops.stack(tensors, axis=0)[source]

Stacks a list of tensors in specified axis.

Stacks the list of input tensors with the same rank R, output is a tensor of rank (R+1).

Given input tensors of shape \((x_1, x_2, ..., x_R)\). Set the number of input tensors as N. If \(axis \ge 0\), the shape of the output tensor is \((x_1, x_2, ..., x_{axis}, N, x_{axis+1}, ..., x_R)\).

Parameters
  • tensors (Union[tuple, list]) – A Tuple or list of Tensor objects with the same shape and type.

  • axis (int) – Dimension to stack. Default: 0. Negative values wrap around. The range is [-(R+1), R+1).

Returns

Tensor. A stacked Tensor with the same type as tensors.

Raises
  • TypeError – If the data types of elements in tensors are not the same.

  • ValueError – If the length of tensors is not greater than 0; or if axis is out of the range [-(R+1), R+1); or if the shapes of elements in tensors are not the same.

Supported Platforms:

Ascend GPU CPU

Examples

>>> 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.]]