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)  # 报错
相关推荐
阳光是sunny7 小时前
别再被 worktree 绕晕了!AI 编程时代你必须掌握的 Git 隔离神器
前端·人工智能·后端
冬奇Lab8 小时前
每日一个开源项目(第148篇):obsidian-skills - Obsidian CEO 亲写的 AI Agent 格式规范,让 Agent 不再破坏你的 Vault
人工智能·开源·资讯
ethantan8 小时前
AI Agent 组成:像人一样思考的智能体
人工智能·程序员·架构
冬奇Lab8 小时前
Workflow 系列(05):评测体系——三层测试结构与 Trace 追踪
人工智能·工作流引擎
ethantan9 小时前
一篇讲解AI Agent 组成:像人一样思考的智能体
人工智能·后端·程序员
apocelipes10 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
Cosolar10 小时前
vLLM 生产级部署完全指南
人工智能·后端·架构
CodePlayer竟然被占用了11 小时前
被美国政府封杀18天,Claude Fable 5 回来了——但代价是什么?
人工智能
IT_陈寒11 小时前
垃圾回收器选错了,我的Java服务内存炸了
前端·人工智能·后端
smartpi12 小时前
SmartPi GPIO 脉冲与回复语执行时序指南
人工智能