PyTorch中permute和reshapeview有何关键区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计752个文字,预计阅读时间需要4分钟。
二维的情况+首先用二维tensor作为例子,方便理解。+permute用作于调整Tensor的维度,参数为调整的维度顺序。+例如对于一个二维Tensor来说,调用tensor.permute(1,0)意味着将列(第1维)与行(第0维)调换位置。
二维的情况
先用二维tensor作为例子,方便理解。
permute作用为调换Tensor的维度,参数为调换的维度。例如对于一个二维Tensor来说,调用tensor.permute(1,0)意为将1轴(列轴)与0轴(行轴)调换,相当于进行转置。
In [20]: a Out[20]: tensor([[0, 1, 2], [3, 4, 5]]) In [21]: a.permute(1,0) Out[21]: tensor([[0, 3], [1, 4], [2, 5]])
如果使用view(3,2)或reshape(3,2),得到的tensor并不是转置的效果,而是相当于将原tensor的元素按行取出,然后按行放入到新形状的tensor中。
本文共计752个文字,预计阅读时间需要4分钟。
二维的情况+首先用二维tensor作为例子,方便理解。+permute用作于调整Tensor的维度,参数为调整的维度顺序。+例如对于一个二维Tensor来说,调用tensor.permute(1,0)意味着将列(第1维)与行(第0维)调换位置。
二维的情况
先用二维tensor作为例子,方便理解。
permute作用为调换Tensor的维度,参数为调换的维度。例如对于一个二维Tensor来说,调用tensor.permute(1,0)意为将1轴(列轴)与0轴(行轴)调换,相当于进行转置。
In [20]: a Out[20]: tensor([[0, 1, 2], [3, 4, 5]]) In [21]: a.permute(1,0) Out[21]: tensor([[0, 3], [1, 4], [2, 5]])
如果使用view(3,2)或reshape(3,2),得到的tensor并不是转置的效果,而是相当于将原tensor的元素按行取出,然后按行放入到新形状的tensor中。

