Pytorch 尺寸变化

Pytorch dimension change

有什么方法可以把[1,512,1,1]张量改成[1,512,2,2]张量。 我知道仅仅通过改变尺寸是不可能的。 有什么方法可以使用 concat 或 stack 与 PyTorch (torch.stack, torch.cat)

我用下面的代码制作张量

a = torch.rand([1,512,1,1])

如何将其更改为维度为 [1,512,2,2] 的张量

我试过了

tmp = torch.cat([a,a],2)
a = torch.cat([tmp,tmp],3)

那将是 torch.repeat,这将复制数据:

>>> a = a.repeat(1, 1, 2, 2)

如果您不想复制数据,则使用torch.expand:

>>> a = a.expand(-1, -1, 2, 2)