p = p.view(bs, self.na, self.no, self.ny, self.nx).permute(0, 1, 3, 4, 2).contiguous() 什么意思?

问题遇到的现象和发生背景

问题相关代码,请勿粘贴截图

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

p = p.view(bs, self.na, self.no, self.ny, self.nx).permute(0, 1, 3, 4, 2).contiguous() 什么意思?

p.view(bs, self.na, self.no, self.ny, self.nx)
生成一个多维度列表
permute(0, 1, 3, 4, 2)
将第二维度放置到最后位置,将3,4纬度前移一位
contiguous()
返回一个前面操作的强制拷贝对象,后面操作这个对象时不会对前面的数据发送改变
有帮助点个采纳,谢谢

是一个连续处理过程
对 p.view(bs, self.na, self.no, self.ny, self.nx) 进行 维度换位 后
用contiguous()来返回一个contiguous copy

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632