解决内存急速增长的措施

最近在用Imgnet2012 validation set跑定量实验时,没跑几个epoch就出现了内存爆满的情况

解决办法:
1. 将某个变量进行detach一下
2. 将使用到该变量的地方 ,print时,选择使用.item()来取值,而不是取tensor

这个问题得到解决,没几天出现了新的问题。。。经过排查,是因为将所有样本一次性计算损失并更一次,这样tensor的暴增必然会带来内存的暴增。。。

小节:一般更新梯度时,有三种方法:计算所有样本的损失并更一次,准确性高但计算成本高;随机梯度,也就是每个样本更一次,计算块但是不准确,有时不同样本的更新梯度会互相抵消;采用批处理,一批数据进行更一次,这样计算稳定且成本低。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容