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

相关推荐
职业码农NO.13 分钟前
AI 技术栈完整解析,从 GPU 到应用的五层架构
人工智能·架构·系统架构·aigc·agent
汤姆yu4 分钟前
基于python大数据的协同过滤音乐推荐系统
大数据·开发语言·python
爱学习的小道长6 分钟前
Python Emoji库的使用教程
开发语言·python
小烤箱12 分钟前
Autoware Universe 感知模块详解 | 第十一节:检测管线的通用工程模板与拆解思路导引
人工智能·机器人·自动驾驶·autoware·感知算法
Data_agent14 分钟前
Cssbuy 模式淘宝 / 1688 代购系统南美市场搭建指南
大数据·python
jiayong2316 分钟前
model.onnx 深度分析报告(第2篇)
人工智能·机器学习·向量数据库·向量模型
川西胖墩墩22 分钟前
团队协作泳道图制作工具 PC中文免费
大数据·论文阅读·人工智能·架构·流程图
Codebee23 分钟前
ooder SkillFlow:破解 AI 编程冲击,重构企业级开发全流程
人工智能
TOPGUS25 分钟前
黑帽GEO手法揭秘:AI搜索阴影下的新型搜索劫持与风险
人工智能·搜索引擎·chatgpt·aigc·谷歌·数字营销
Sammyyyyy28 分钟前
Symfony AI 正式发布,PHP 原生 AI 时代开启
开发语言·人工智能·后端·php·symfony·servbay