如何在训练过程中检查CUDA内存不足的根本原因?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在训练过程中检查CUDA内存不足的根本原因?相关的知识,希望对你有一定的参考价值。
[我正在拥抱face language_modeling.py上运行roberta。经过400个步骤后,我突然遇到了CUDA内存不足的问题。不知道该如何处理。你能帮忙吗?谢谢
答案
这可能有多个原因。如果仅在几次迭代后得到它,则可能是您没有释放计算图。您是否使用loss.backward(retain_graph=True)
或类似名称?
此外,当您进行推理时,请务必使用
with torch.no_grad():
model.forward(...)
否则,计算图也会保存在此处,并且可能永远不会释放,因为您永远不会在它们上调用backward()
。
以上是关于如何在训练过程中检查CUDA内存不足的根本原因?的主要内容,如果未能解决你的问题,请参考以下文章
即使使用 AWS P8 实例,Yolov5 模型训练也因 CUDA 内存不足而失败
运行时错误:CUDA 在训练结束时内存不足并且不保存模型;火炬
CUDA 错误:内存不足 - Python 进程使用所有 GPU 内存