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

相关推荐
程序员爱钓鱼1 小时前
Python 综合项目实战:学生成绩管理系统(命令行版)
后端·python·ipython
Brsentibi1 小时前
基于python代码自动生成关于建筑安全检测的报告
python·microsoft
程序员爱钓鱼1 小时前
REST API 与前后端交互:让应用真正跑起来
后端·python·ipython
gCode Teacher 格码致知3 小时前
Python基础教学:Python的openpyxl和python-docx模块结合Excel和Word模板进行数据写入-由Deepseek产生
python·excel
Danceful_YJ3 小时前
33.Transformer架构
人工智能·pytorch·深度学习
Destiny_where5 小时前
Agent平台-RAGFlow(2)-源码安装
python·ai
美狐美颜SDK开放平台5 小时前
美颜SDK性能优化实战:GPU加速与AI人脸美型的融合开发
人工智能·音视频
molunnnn5 小时前
第四章 Agent的几种经典范式
开发语言·python
AI浩6 小时前
VSSD:具有非因果状态空间对偶性的视觉Mamba模型
人工智能·目标检测·计算机视觉
lqqjuly6 小时前
Lidar调试记录Ⅳ之Ubuntu22.04+ROS2+Livox_SDK2环境下编译Livox ROS Driver 2
人工智能·机器人·自动驾驶