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

相关推荐
六行神算API-天璇1 分钟前
可信AI的落地挑战:谈医疗大模型的可解释性与人机协同设计
大数据·人工智能
IT_陈寒8 分钟前
Vue 3.4 性能优化揭秘:这5个Composition API技巧让我的应用提速40%
前端·人工智能·后端
Keep_Trying_Go10 分钟前
基于Transformer的目标统计方法(CounTR: Transformer-based Generalised Visual Counting)
人工智能·pytorch·python·深度学习·transformer·多模态·目标统计
小马爱打代码13 分钟前
Spring AI:RAG 增强检索介绍
java·人工智能·spring
yumgpkpm13 分钟前
接入Impala、Hive 的AI平台、开源大模型的国内厂商(星环、Doris、智谱AI、Qwen、DeepSeek、 腾讯混元、百川智能)
人工智能·hive·hadoop·zookeeper·spark·开源·hbase
视觉&物联智能13 分钟前
【杂谈】-音频深度伪造技术:识别与防范全攻略
人工智能·web安全·ai·aigc·音视频·agi
Mintopia15 分钟前
🤖 AI 时代,大模型与系统的可融合场景架构猜想
人工智能·前端框架·操作系统
jimmyleeee16 分钟前
人工智能基础知识笔记二十五:构建一个优化PDF简历的Agent
人工智能·笔记
阿正的梦工坊16 分钟前
τ-bench:重塑Agent评估的工具-代理-用户交互基准
人工智能·机器学习·大模型·llm
地中海~17 分钟前
LARGE LANGUAGE MODELS ARE NOT ROBUST ICLR2024
人工智能·笔记·nlp