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

被折叠的 条评论
为什么被折叠?



