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

相关推荐
抠头专注python环境配置13 分钟前
解决Windows安装PythonOCC报错:从“No module named ‘OCC’ ”到一键成功
人工智能·windows·python·3d·cad·pythonocc
2501_9413220314 分钟前
计算机视觉实现火灾与烟雾实时监测系统
人工智能·计算机视觉
xiaobaishuoAI14 分钟前
分布式事务实战(Seata 版):解决分布式系统数据一致性问题(含代码教学)
大数据·人工智能·分布式·深度学习·wpf·geo
2501_9421917717 分钟前
【深度学习实战】数字仪表字符识别项目详解——基于YOLO11-HAFB-2模型的优化实现
人工智能·深度学习
Bruce-XIAO18 分钟前
数据标注方法
人工智能·nlp
华研前沿标杆游学18 分钟前
2026年华研就业实践营|走进字节跳动,解锁科技行业职业新航向
python
Where-29 分钟前
深度学习中的过拟合问题及解决方式
人工智能·深度学习
wen__xvn36 分钟前
目标检测的局限
人工智能·目标检测·计算机视觉
啊阿狸不会拉杆37 分钟前
《数字图像处理》第 4 章 - 频域滤波
开发语言·python·数字信号处理·数字图像处理·频率域滤波
力学与人工智能1 小时前
博士答辩PPT分享 | 高雷诺数湍流场数据同化与湍流模型机器学习研究
人工智能·机器学习·ppt分享·高雷诺数·流场数据同化·湍流模型