训练模型时候显存爆炸的一种可能性以及解决办法

本文讨论了在深度学习模型训练过程中遇到的显存问题。作者提到,模型训练时出现显存爆满的情况可以通过调整batch大小或数据预处理解决。而在测试阶段,由于忘记使用`torch.no_grad()`上下文管理器导致显存未被释放,增加这一语句后,显存占用显著降低。记住在推理时关闭梯度计算可以有效避免不正常的显存占用。
摘要由CSDN通过智能技术生成

转载:https://wstchhwp.blog.csdn.net/article/details/108405102
模型训练的时候,爆显存了,可以调整batch,对数据进行crop等等操作。
今天发现一个模型,训练ok,每次测试的时候爆显存。开始以为是因为用了全图(1920x1080略大)进行inference,这是一方面。但后来发现忘了用with torch.no_grad():这导致模型运算的时候不能释放显存(记录了梯度信息),所以显存巨大。加了之后,用了不过3G显存就够了。确实inference不需要那么多显存的,以后记着这种不正常现象如何处理。

一般训练不爆显存,测试也不会爆;训练时的显存占用远多于inference

with torch.no_grad():
                output = self.model(lr)`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>