PyTorch中Tensor的拼接

PyTorch中Tensor的拼接方法:torch.cat()torch.stack()
【小提示:代码得到下面的图】

  • torch.cat()

我们用图+代码来举例

import torch
x1 = torch.randn(1, 3)
x2 = torch.randn(1, 3)

在这里插入图片描述

# 在 0(纵向)进行拼接
torch.cat((x1, x2), 0)	
# size
[2, 3]

在这里插入图片描述

# 在 1(横向)进行拼接
torch.cat((x1, x2), 1)	
# size
[1, 6]

在这里插入图片描述
注意:对于需要拼接的张量,维度数量必须相同,进行拼接的维度的尺寸可以不同,但是其它维度的尺寸必须相同。【简而言之,堆积木,对上了就可以拼】

  • torch.stack()

我们继续用图+代码来举例

import torch
x1 = torch.randn(3, 4)
x2 = torch.randn(3, 4)

在这里插入图片描述

# 在 0 维插入一个维度,进行前后组合
torch.stack((x1, x2), 0)	
# size
[2, 3,4]

在这里插入图片描述

# 在 1 维插入一个维度
torch.stack((x1, x2), 1)
# size
[3, 2,4]

在这里插入图片描述

# 在 2 维插入一个维度
torch.stack((x1, x2), 2)
# size
[3, 4,2]

在这里插入图片描述
补充:
拼接多个向量,例如:torch.stack((x1, x2, x3, x4), 2),再上述的方法中接入需要拼接的向量就可以了

点击阅读全文
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐