原因:代码中需要多次用到一个高维tensor变量,每一个batch都要更新一次它的值,这个值的获得需要数据集过一次网络
心路历程:刚开始以为是传参或者内存释放的问题,去深入研究了python高级用法,用了很多del、gc.collect()语句,发现内存释放不掉,还是随着训练过程逐渐增长
最终解决:因为是把两个代码的方法往一个整合,又仔细看了源码,发现源代码过网络的时候用了with torch.no_grad()这个语句,就试了一下,没想到就是这个问题,困了我两三天啊啊啊
分析:如果没有这个语句的话,因为要反向求导,pytorch就会创建变量保存梯度,跟这个高维tensor“体量”差不多的东西,如果每过一次网络保存一次梯度,这个内存消耗就非常大了,最终cuda memory out

pytorch训练过程中内存一直慢慢增长直到爆相关推荐

  1. pytorch训练过程中loss出现NaN的原因及可采取的方法

    在pytorch训练过程中出现loss=nan的情况 1.学习率太高. 2.loss函数 3.对于回归问题,可能出现了除0 的计算,加一个很小的余项可能可以解决 4.数据本身,是否存在Nan,可以用n ...

  2. Pytorch:数据并行和模型并行,解决训练过程中内存分配不均衡的问题

    文章目录 数据并行 单机多卡训练,即并行训练.并行训练又分为数据并行 (Data Parallelism) 和模型并行两种. 数据并行指的是,多张 GPU 使用相同的模型副本,但是使用不同的数据批进行 ...

  3. Ubuntu在pytorch训练过程中总是出现死机,重启

    问题解析:一般是gpu或者cpu在和内存io的时候,内存容量不足被强制kill了,举个例子,我训练的模型大小约占用显存16g,但是在存储模型的过程会被32g的内存撑爆 1 在pycharm的设置文件将 ...

  4. 关于Pytorch训练过程中CUDA out of Memory问题

    先上一条命令:watch --color -n1 gpustat -cpu --color 此命令用于Linux动态监测GPU情况,直接在命令行输入即可 1.如果是没有训练就报错 batch_size ...

  5. Pytorch在训练过程中常见的问题

    1 Input type (CUDAFloatTensor) and weight type (CPUFloatTensor) should be the same 仔细看错误信息,CUDA和CPU, ...

  6. pytorch训练 loss=inf或者训练过程中loss=Nan

    造成 loss=inf的原因之一:data underflow 最近在测试Giou的测试效果,在mobilenetssd上面测试Giou loss相对smoothl1的效果: 改完后训练出现loss= ...

  7. dqn在训练过程中loss越来越大_DQN算法实现注意事项及排错方法

    在学习强化学习过程中,自己实现DQN算法时,遇到了比较多的问题,花了好几天的时间才得以解决.最后分析总结一下,避免再走弯路. 有可能开始实现出来的DQN算法,无论怎么训练总是看不错成果.需要注意的地方 ...

  8. Pytorch使用过程中显存爆炸解决办法

    pytorch中的python对象占用空间很大,模型可以用.cuda()方法放在GPU上,临时的一个batch数据也在训练时放在GPU上进行计算,随着时间推移,显存占用指数倍增长,如果可以的话,把训练 ...

  9. 理解YOLOv2训练过程中输出参数含义

    转载自https://blog.csdn.net/dcrmg/article/details/78565440 原英文地址: https://timebutt.github.io/static/und ...

  10. pytorch 训练过程acc_Pytorch之Softmax多分类任务

    在上一篇文章中,笔者介绍了什么是Softmax回归及其原理.因此在接下来的这篇文章中,我们就来开始动手实现一下Softmax回归,并且最后要完成利用Softmax模型对Fashion MINIST进行 ...

最新文章

  1. 大数据时代下的新生态、新洞察、新趋势 | 神策 2019 数据驱动大会
  2. Selenium+python --获取百度联想词
  3. 我家的漫路超市——怎么开淘宝网店
  4. tensorflow 之 ValuError: At least two variables have the same name: bottom/bn1/beta_power0 等
  5. html设置点击事件相同,html有多个类名相同的div,如何给每个div绑定click事件并区分?...
  6. 这么香的技术还不快点学起来,不吃透都对不起自己
  7. JS与APP原生控件交互
  8. c语言函数的使用步骤,c语言打开文件函数使用方法
  9. python换循环颜色_python – 增加matplotlib颜色循环
  10. AIOps中异常检测的简单应用
  11. layui下拉框怎么获取自定义值_layui如何得到select下拉框选中的值?
  12. 《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)
  13. 综合布线系统计算机网络,综合布线 计算机网络系统
  14. tp5 点击刷新验证码
  15. MSM8960处理器概述
  16. web - 常见浏览器及内核
  17. Blizzard的MPQ文件格式搜索算法
  18. oracle中的than,range分区values less than,代表的是小于等于还是小于啊。
  19. PMP项目管理师考试---准备与学习过程经验分享
  20. 导航条动态模糊效果实现原理实战

热门文章

  1. 软考倒计时19天:招投标法、合同法、采购法
  2. IPv6网络流量监控解决方案
  3. Unity 将3D物体的世界坐标转换为对应的屏幕坐标
  4. 华氏温度与摄氏温度用C语言的实现方法
  5. Java Instrument实践应用:运行中修改程序的Class
  6. Remix-IDE(一)
  7. python程序输出田字格_Python程序练习题5.1-输出更大的田字格。
  8. vue3里面app.config.globalProperties的使用
  9. 计算机系统常见故障及处理,电脑常见故障以及解决方案都在这里
  10. 纳米金13nm|金属纳米粒子/Nano gold制备方法-齐岳生物