PyTorch中permute和reshapeview有何关键区别?

2026-05-21 23:222阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计752个文字,预计阅读时间需要4分钟。

PyTorch中permute和reshape/view有何关键区别?

二维的情况+首先用二维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分钟。

PyTorch中permute和reshape/view有何关键区别?

二维的情况+首先用二维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中。

阅读全文