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

相关推荐
Solar2025几秒前
机械制造ToB企业获客困境与数字化解决方案架构深度解析
大数据·人工智能·架构
weixin19970108016几秒前
马可波罗 item_search - 根据关键词获取商品列表接口对接全攻略:从入门到精通
大数据·人工智能
chao_789几秒前
跳跃游戏系列【贪心算法】
python·算法·游戏·贪心算法·贪心
焦耳加热2 分钟前
江苏大学《Prog. Solid State Ch.》综述:超快焦耳加热技术—电池材料非平衡合成与结构精准调控的新范式
人工智能·科技·能源·制造·材料工程
Dingdangcat863 分钟前
基于YOLO11分割的弹簧质量检测与分类系统RepNCSPELAN_CAA模型训练与实现
人工智能·分类·数据挖掘
没有梦想的咸鱼185-1037-16633 分钟前
AI大模型支持下的:R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表
开发语言·人工智能·机器学习·chatgpt·数据分析·r语言·ai写作
寻道码路4 分钟前
【GitHub周榜】Agno:快速构建多模态智能体的轻量级框架,开发提速 10000 倍
人工智能·语言模型·开源·github·aigc·ai编程
飞Link8 分钟前
K 折交叉验证(K-Fold Cross Validation)全解析:原理、代码实践、应用场景与常见坑点
人工智能·python·机器学习
易晨 微盛·企微管家10 分钟前
2026企业微信AI智能客户管理指南:3步落地+行业案例
大数据·人工智能
wechat_Neal10 分钟前
智能汽车-大模型应用文献3
人工智能·车载系统·汽车