Tensor作为PyTorch的基本数据对象,在使用过程中经常需要进行变形操作。在设计上,PyTorch允许一个Tensor是另外一个Tensor的视图(view),这有效避免了显式的数据复制,从而更加高效便捷地进行Tensor的变形、切片等操作。在PyTorch中有很多用于改变Tensor形状的函数,本小节将详细介绍它们的用法。
本小节介绍的所有函数都可以用tensor.shape和tensor.reshape(*new_shape)实现。下面笔者对与Tensor形状相关的常见操作进行总结,以方便读者选择最灵活便捷的函数。