深度学习踩坑记录

2023-12-13 17:48:18

深度学习踩坑记录

在跑一个深度学习的项目的时候,为了计算每个epoch的Loss,肯定要把每个batch_size的loss给加起来,就会有类似如下的代码

train_loss += loss

是的当时手抖,忘了是loss.item(),代码也能正常运行,也能正常算,并且每一步需要跑的时间也是一样的,但是这样会导致每一步的内存都是叠加的。并且这种占显存的方式你在nvidia-smi还看不出来,得去htop里面看,一看好家伙,显存占的高的离谱,正常来说我就占4个G,他占了十几个G,当时就感觉不对劲了,后面发现这叫显存泄露
总而言之言而总之,如果你直接+loss,也能跑,结果也是一样的,但是这就会导致需要的内存一步步的叠加,我是跑到10几个epoch的时候莫名其妙被killed了,去查了一下是out of memory的问题,刚开始还以为是别的因素,后面才发现是我的问题T T

文章来源:https://blog.csdn.net/abc1234564546/article/details/134975376
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。