torch.empty()造成的内存溢出问题

torch.empty()造成的内存溢出问题

问题

代码实现的时候遇见了一个很奇怪的问题,运行同一段代码会出现一些奇怪的超大指数值,调试发现是混淆了torch.empty 和torch.zeros的概念。对torch.empty初始化的矩阵直接"+=",出现的内存问题。

例如:

python 复制代码
import torch

a = torch.empty((3,4))
a += 1

上述代码不会报错,但是结果不正确。

原因

这是由于torch.empty 创建了矩阵会分配一个内存地址,该地址对应的数据是随机的,可能跟你上一次的缓存或者其他数据有关

例如

python 复制代码
a = torch.empty((3,4))
#
# tensor([[6.8943e+34, 1.6212e-19, 1.4586e-19, 7.7179e+28],
#        [1.6217e-19, 1.4586e-19, 1.8617e+25, 1.6212e-19],
#        [1.4587e-19, 1.1578e+27, 3.3248e-06, 6.0542e+22]])

这里的矩阵值是随机的,因此torch.empty只起到一个占位的作用,只有需要赋值的时候可以使用,

但是如果明确需要初始值为0,需要torch.zeros

PS: 不排除有一定的机率初始化为0,这就造成程序有一些偶然机会会正常运行

相关推荐
用户9385156350712 分钟前
手写一个 LLM Harness 框架:用工程化手段把大模型幻觉踩在脚下
javascript·人工智能·后端
前端开发江鸟14 分钟前
我能解释 RAG、MCP 和 Eval,却画不出一条完整的 Agent 链路
人工智能
ivywriter1 小时前
【具身智能】物理AI具体指什么,和具身智能是什么关系?
人工智能
new_zhou1 小时前
C++ 项目 AI 协作指南(Windows / MSVC 环境)
c++·人工智能·windows
洛阳泰山1 小时前
AI 应用层被 Python 卷成红海,为什么我偏要用 Java 造一个 RAG + 工作流引擎?
java·人工智能·后端
wangray1997droid2 小时前
让 AI 拥有“真实记忆“:一次从碎片到叙事的记忆系统质变
人工智能
一次旅行2 小时前
AI 前沿日报 | 2026年08月08日 星期六
人工智能
hyuk的AI工坊2 小时前
Agent/Tool Calling 深度实战:LangChain4j 生产级工具设计
人工智能
manyingAi2 小时前
AIGC 落地影视内容行业:漫映 AI 漫剧全链路工作流技术架构解析
人工智能·架构·aigc
架构师汤师爷2 小时前
我用WorkBuddy和ima搭了一套AI写作工作流,真滴香晕了!
人工智能