首页 > 解决方案 > 如何在训练过程中检查 CUDA 内存不足问题的根本原因?

问题描述

我正在拥抱 roberta language_modeling.py。完成 400 步后,我突然遇到 CUDA 内存不足的问题。不知道怎么处理。你能帮忙吗?谢谢

标签: gpupytorchhuggingface-transformers

解决方案


这可能有多种原因。如果您仅在几次迭代后才获得它,则可能是您没有释放计算图。你用loss.backward(retain_graph=True)的还是类似的?

此外,当您运行推理时,请务必使用

with torch.no_grad():
    model.forward(...)

否则,计算图也会保存在那里,并且可能永远不会被释放,因为您从不调用backward()它们。


推荐阅读