Pytorch tensor.view()和terson.reshape(),以及contiguous()为何存在

本文探讨了PyTorch中tensor.view()和tensor.reshape()函数的内存共享特性,强调view()仅改变观察视角,reshape可能不共享数据导致内存地址变更。通常推荐先用clone()复制tensor再进行view操作以确保数据完整复制。同时解释了contiguous()的作用,即确保连续内存布局。
摘要由CSDN通过智能技术生成

pytorch结构函数tensor.view()和terson.reshape(),以及contiguous()为何存在

view()是内存共享的,reshape()不是共享的,可以理解为reshape获取的是tensor克隆真实副本,而view()只是改变了tensor的观察视角而已,然而实际上并不会这样使用它,因为reshape通常获取不到原数据的拷贝(因为会改变data的内存地址),所以一般用clone()克隆tensor后再view,确保对象和数据两个内存地址都被完整复制走。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值