torch中transpose和permute有什么区别,例子

torch中transpose和permute都是用于交换不同维度的内容,但两者有所不同。

其中,torch.transpose()是交换指定的两个维度的内容,permute()则可以一次性交换多个维度。具体情况如下:

  • transpose(): 两个维度的交换
    例如,如果您有一个大小为(3,4,6)的张量,您可以使用torch.transpose(input,1,2)将其转换为一个大小为(3,6,4)的张量。
  • permute(): 一次性做任意维度的交换
    例如,如果您有一个大小为(3,4,6)的张量,您可以使用torch.permute(input,(0,2,1))将其转换为一个大小为(3,6,4)的张量。

这两个方法都和numpy.reshape和torch.view完全不同,因为他会改变矩阵中元素在内存中的存储位置;在使用permute方法后要记得跟上continuous保证存储连续性;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部