评价此页

torch.cat#

torch.cat(tensors, dim=0, *, out=None) Tensor#

在给定维度上拼接给定序列 tensors 中的张量。所有张量必须具有相同的形状(除了拼接维度),或者是一个大小为 (0,) 的一维空张量。

torch.cat() 可以看作是 torch.split()torch.chunk() 的逆操作。

torch.cat() 通过示例可以更好地理解。

另请参阅

torch.stack() 沿新维度拼接给定序列。

参数
  • tensors (Tensor序列) – 提供的非空张量必须具有相同的形状,除了拼接维度。

  • dim (int, 可选) – 张量拼接的维度

关键字参数

out (Tensor, optional) – 输出张量。

示例

>>> x = torch.randn(2, 3)
>>> x
tensor([[ 0.6580, -1.0969, -0.4614],
        [-0.1034, -0.5790,  0.1497]])
>>> torch.cat((x, x, x), 0)
tensor([[ 0.6580, -1.0969, -0.4614],
        [-0.1034, -0.5790,  0.1497],
        [ 0.6580, -1.0969, -0.4614],
        [-0.1034, -0.5790,  0.1497],
        [ 0.6580, -1.0969, -0.4614],
        [-0.1034, -0.5790,  0.1497]])
>>> torch.cat((x, x, x), 1)
tensor([[ 0.6580, -1.0969, -0.4614,  0.6580, -1.0969, -0.4614,  0.6580,
         -1.0969, -0.4614],
        [-0.1034, -0.5790,  0.1497, -0.1034, -0.5790,  0.1497, -0.1034,
         -0.5790,  0.1497]])