pytorch中x.view()、permute()、contiguous()函数用法
-
x.view(),它表示将Tensor的维度转变为view指定的维度
-
permute(),这个函数是做维度交换的
-
torch.view()方法对张量改变“形状”其实并没有改变张量在内存中真正的形状。简单地说,view方法没有拷贝新的张量,没有开辟新内存,与原张量共享内存,只是重新定义了访问张量的规则,使得取出的张量按照我们希望的形状展现。
-
torch.contiguous()方法首先拷贝了一份张量在内存中的地址,然后将地址按照形状改变后的张量的语义进行排列。就是说contiguous()方法改变了多维数组在内存中的存储顺序,以便配合view方法使用。
参考链接:
https://blog.csdn.net/qian_5557/article/details/88644570
https://zhuanlan.zhihu.com/p/88311093
https://blog.csdn.net/Abibulla/article/details/111347744