一.stack操作可以将多个张量在新的维度上叠加:
import torch
y = torch.randn(3,5,7,7)
x = torch.randn(3,5,7,7)
c = torch.randn(3,5,7,7)
z_dim0 = torch.stack((x,y,c),dim=0)
z_dim1 = torch.stack((x,y,c),dim=1)
z_dim2 = torch.stack((x,y,c),dim=2)
print("z_dim0",z_dim0)
print("z_dim1",z_dim1)
print("z_dim2",z_dim2)
输出:
dim=0 输出张量尺寸是 3 6577
dim=1 输出张量尺寸是6 3 577
dim=2 输出张量尺寸是65 3 77
可以看到dim不同插入的维度的位置也不同,生成出的张量也各不相同。
二.concat操作可以将多个张量在新的维度上叠加:
concat操作则是直接合并
y = torch.randn(6,5,7,7)
x = torch.randn(6,5,7,7)
c = torch.randn(6,5,7,7)
z_dim0 = torch.concat((x,y,c),dim=0)
z_dim1 = torch.concat((x,y,c),dim=1)
z_dim2 = torch.concat((x,y,c),dim=2)
这个就很直观了。