torch.empty()造成的内存溢出问题

这篇具有很好参考价值的文章主要介绍了torch.empty()造成的内存溢出问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

torch.empty()造成的内存溢出问题

问题

代码实现的时候遇见了一个很奇怪的问题,运行同一段代码会出现一些奇怪的超大指数值,调试发现是混淆了torch.empty 和torch.zeros的概念。对torch.empty初始化的矩阵直接“+=”,出现的内存问题。
例如:

import torch

a = torch.empty((3,4))
a += 1

上述代码不会报错,但是结果不正确。

原因

这是由于torch.empty 创建了矩阵会分配一个内存地址,该地址对应的数据是随机的,可能跟你上一次的缓存或者其他数据有关
例如

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文章来源地址https://www.toymoban.com/news/detail-821064.html

PS: 不排除有一定的机率初始化为0,这就造成程序有一些偶然机会会正常运行

到了这里,关于torch.empty()造成的内存溢出问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 常见内存溢出与CPU 100%问题

    SQL in 过多 https://mp.weixin.qq.com/s/g5Y47cQ25KbVjzHhZcjN7g 面对 OOM 问题如果代码不是有明显的问题,下面几个JVM参数相当有用,尤其是在容器化之后。 另外提一个参数也很有用,正常来说如果程序出现 OOM 之后,就是有代码存在内存泄漏的风险,这个时候即使能对外提供服务,其实也

    2024年02月01日
    浏览(8)
  • Flink批处理metaspace内存溢出问题

    Flink批处理metaspace内存溢出问题

    早上过来发现定时任务出现告警,Flink Jobs运行失败,登录Flinkweb后台一看,所有jobs都没了,slot也为0。 查看Flink日志,有以下错误异常: 根据错误异常不难得出,是因为metaspace内存溢出导致的。 通过日志能观察到是一个批处理任务(FlinkJobCheatFind)导致;这个批处理任务是通过

    2024年02月08日
    浏览(10)
  • 使用asan检测内存泄漏、堆栈溢出等问题

    操作过程参考:链接 缘起:程序在移动端崩溃,mac端复现不了,于是在写个崩溃位置函数的调用demo,使用ASAN工具进行排查。 验证过程 1、代码 main.cpp 使用附加ASAN工具的方式进行编译: 执行: 没有问题,以上是验证过程,如有问题执行时ASAN会提示有问题的相关位置。 介绍

    2024年02月11日
    浏览(14)
  • Java内存溢出问题深入探究及其解决策略

    Java内存溢出是一个常见且棘手的问题,可能会导致程序的性能急剧下降或者崩溃,给业务带来严重的影响。为了深入解析和理解此问题,本文将详细探究Java的内存模型,内存溢出的根本原因,诊断方法以及解决策略。 1.1 Java内存模型 Java内存空间主要包括以下几个部分:方法

    2024年02月09日
    浏览(12)
  • 如何逐步排查因文件问题导致的内存溢出

    逐步排查内存溢出问题通常需要一系列的步骤,其中逐渐增大传输文件的大小,并观察内存使用情况,是一种合理的方法。下面是您可以采取的步骤: 增大传输文件大小: 将传输的文件大小逐步增大,这样您可以模拟更大的资源负载。这有助于观察内存使用情况在不同负载

    2024年02月11日
    浏览(12)
  • linux strcpy/strncpy/sprintf内存溢出问题

    本文主要介绍strcpy/strncpy/sprintf都是不安全的,可能存在内存溢出的问题。下来进行实例分析。 运行结果: flag is false *** stack smashing detected ***: unknown terminated Aborted (core dumped) 这是因为数组较小,产生了越界。以上是linux gcc编译的。可能其他编译器会遇到打印是flag is true的场景

    2024年02月14日
    浏览(11)
  • 记vite打包vue项目内存溢出问题解决

    出现问题 解决方法一: 1.根据网上的资料是通过全局下载npm包increase-memory-limit: 2.在项目目录执行命令: 3. 如果报错就搜索node_modules目录下的.bin目录中的 “%_prog%” 替换为 %_prog% 解决方法二(我的解决方法): 1.全局安装cross-env 2.在package.json的scripts中的build执行命令中增加

    2024年02月12日
    浏览(9)
  • 采用一种比较粗暴的方法解决lvgl切换screen时候造成的卡死问题/LVGL/stm32/内存

    采用一种比较粗暴的方法解决lvgl切换screen时候造成的卡死问题/LVGL/stm32/内存

    最近有个项目在做基于stm32h7的交互界面制作,大概需要通过lvgl图形库做11个界面加上一堆控件(可以看一下下面的图,只能说真不少),然后就出现了烧录程序后,就会出现白屏(大概率就是卡死了),一开始想简化一下页面,注释了几个(治标不治本,所以再找了别的方法

    2024年03月14日
    浏览(9)
  • JVM:全面理解线上服务器内存溢出(OOM)问题处理方案(一)

    JVM:全面理解线上服务器内存溢出(OOM)问题处理方案(一)

    前段时间生产上遇到了OOM问题,导致服务出现了短时间的不可用,还好处理及时,否则也将酿成大祸。OOM问题也是生产中比较重要的问题,所以本期我们针对OOM问题特别讲解,结合理论与实际案例来带大家彻底攻克OOM问题处理。 要解决问题,我们首先要清楚问题产生的原因。

    2024年02月12日
    浏览(12)
  • gateway报 netty堆外内存溢出问题解决io.netty.util.internal.OutOfDirectMemoryError

    gateway报 netty堆外内存溢出问题解决io.netty.util.internal.OutOfDirectMemoryError

    昨天线上网关突然无法访问。打开日志看到错误信息“io.netty.util.internal.OutOfDirectMemoryError” 堆外内存溢出。。这也没碰到过啊,看来今天准点下班的愿望又落空了。老规矩面向百度编程。先看看网上有没有其他兄弟碰到这个问题。一顿搜索之后发现,很多博客都是一知半解并

    2024年02月10日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包