mars.tensor.stack#

mars.tensor.stack(tensors, axis=0, out=None)[来源]#

沿着新的轴连接张量序列。

axis 参数指定结果维度中新轴的索引。例如,如果 axis=0,它将是第一个维度;如果 axis=-1,它将是最后一个维度。

Parameters
  • 张量 (序列 of 类似数组的) – 每个张量必须具有相同的形状。

  • axis (int, 可选) – 结果张量中输入张量堆叠的轴。

  • out (张量, 可选) – 如果提供,这是放置结果的目标。它的形状必须正确,与如果没有指定 out 参数时 stack 将返回的结果的形状匹配。

Returns

堆叠的 – 堆叠的张量比输入张量多一个维度。

Return type

张量

另请参阅

concatenate

沿着现有轴连接一系列张量。

split

将张量分割成一个多个大小相等的子张量列表。

block

从块中组合张量。

示例

>>> import mars.tensor as mt
>>> arrays = [mt.random.randn(3, 4) for _ in range(10)]
>>> mt.stack(arrays, axis=0).shape
(10, 3, 4)
>>> mt.stack(arrays, axis=1).shape
(3, 10, 4)
>>> mt.stack(arrays, axis=2).shape
(3, 4, 10)
>>> a = mt.array([1, 2, 3])
>>> b = mt.array([2, 3, 4])
>>> mt.stack((a, b)).execute()
array([[1, 2, 3],
       [2, 3, 4]])
>>> mt.stack((a, b), axis=-1).execute()
array([[1, 2],
       [2, 3],
       [3, 4]])