评价此页

torch.cat#

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

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

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

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

另请参阅

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

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

  • dim (int, optional) – 张量被拼接的维度

关键字参数

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