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,这就造成程序有一些偶然机会会正常运行

相关推荐
动恰客流统计5 分钟前
零食集合店爆火背后:客流统计技术如何重构新零售运营决策
大数据·人工智能
Tbisnic15 分钟前
从链式法则到ReLU:梯度消失的数学本质与工程解决方案
python·深度学习·大模型·激活函数·梯度消失
Wbp19 分钟前
本地 Codex 接口登录报错 account/read failed 的排查与修复记录
人工智能
X Chow25 分钟前
用 NotebookLM 高效阅读文献与撰写综述:从入门到精通的完整指南
人工智能
yanwei202025 分钟前
NinChat:构建 AI 时代的实时新闻搜索基础设施
人工智能·ai agent·openclaw·hermes·meilishard·热点新闻聚合
小开_ALSKai33 分钟前
Obsidian 最强的 AI 功能,就是它没有 AI 功能
人工智能·agent
_codemonster34 分钟前
从零手搓大模型(五)把 GPT 微调成垃圾信息分类器
人工智能·gpt·机器学习
郭泽斌之心37 分钟前
不买 Trading Central,自己做一套交易信号引擎:MA/BB/Pivot/ATR + 集中采集架构
人工智能·深度学习·ea·mt5·fay数字人·easydeal
想会飞的蒲公英39 分钟前
一个 PyTorch 模型训练的完整流程
人工智能·pytorch·python
Lucky_luckyZzz44 分钟前
销售会话分析设备选型:成熟方案实测红榜与避坑指南
人工智能