torch.view()和.reshape()

view只能作用在连续的张量上(张量中元素的内存地址是连续的)。而reshape连续or非连续都可以。

调用x.reshape的时候,如果x在内存中是连续的,那么x.reshape会返回一个view(原地修改,此时内存地址不变),否则就会返回一个新的张量(这时候内存地址变了)。

python 复制代码
import torch

a = torch.rand(2, 3)
b = a.permute(1, 0)  # 地址不连续
c = b.reshape(6)

print(id(a), id(b), id(c))
# 2423946308560 2423946344864 2423946631984

d = b.view(6)  # 报错
相关推荐
Lx352几秒前
🌟《生物代码革命:DNA存储与AI的奇妙反应》🌟
人工智能
孔令飞6 分钟前
Neovim Go IDE 安装和配置
人工智能·云原生·go
孔令飞6 分钟前
如何使用声明式API编程来开发业务代码?
人工智能·云原生·go
s1ckrain11 分钟前
【论文阅读】LongDiff:Training-Free Long Video Generation in One Go
论文阅读·人工智能·计算机视觉
撬动未来的支点13 分钟前
【深度学习】不管理论,入门从手写数字识别开始
人工智能·深度学习
溯源00615 分钟前
pytorch中不同的mask方法:masked_fill, masked_select, masked_scatter
人工智能·pytorch·python
名字都被谁用了16 分钟前
Python入门(2)——变量命名规则与6大核心数据类型
开发语言·python·pycharm
odoo中国21 分钟前
深度学习 Deep Learning 第13章 线性因子模型
人工智能·深度学习·线性因子模型
蚝油菜花22 分钟前
Math24o:SuperCLUE开源的高中奥数推理测评基准,85.71分屠榜
人工智能·开源
可乐张22 分钟前
Qwen最新多模态大模型:Qwen2.5-Omni介绍与快速入门
人工智能·python·aigc