使用张量的.repeat()方法,可以将张量看作一个整体,然后根据指定的形状进行重复填充,得到新的张量。
程序说明:首先我们可以看到B为一个仅有一个维度的含有三个元素的张量,当其经过repeat(2,2,2)后可以发现D是一个拥有三个维度的并且在每个维度上都以B为基础单位扩充了2倍。其余的扩充也以此类推。下面附上源码。
import torch
B = torch.Tensor([0,1,2])
print(B)
D = B.repeat(2,2,2)
print(D)
print(D.shape)
D = B.repeat(1,2,3)
print(D)
print(D.shape)
D = B.repeat(1,3,2)
print(D)
print(D.shape)