涉及到的方法有:
拼接torch.cat();torch.stack
扩展torch.Tensor.expand()
压缩torch.squeeze(); torch.Tensor.narrow()
重复torch.Tensor.repeat(); torch.Tensor.unfold()
变形torch.Tensor.view();torch.Tensor.resize_()
置换维度torch.Tensor.permute()
torch.cat(seq, dim=0, out=None) → Tensor
在指定的维度dim上对序列seq进行连接操作
torch.stack(seq, dim=0, out=None) → Tensor
增加新的维度进行堆叠
torch.Tensor.expand(*sizes) → Tensor
返回张量的一个新视图,可以将张量的单个维度扩大为更大的尺寸。
传入-1则意味着维度扩大不涉及这个维度。
扩大张量不需要分配新内存,仅仅是新建一个张量的视图。
torch.squeeze(input, dim=None, out=None) → Tensor
除去输入张量input中数值为1的维度,并返回新的张量。
当通过dim参数指定维度时,维度压缩操作只会在指定的维度上进行。
如果一个张量只有1个维度,那么它不会受到上述方法的影响。
输出的张量与原张量共享内存,如果改变其中的一个,另一个也会改变。
torch.Tensor.repeat(*sizes)
沿着指定的维度重复张量。不同于expand