【问题标题】:How to check the root cause of CUDA out of memory issue in the middle of training?如何在训练过程中检查 CUDA 内存不足问题的根本原因?
【发布时间】:2020-05-27 18:16:45
【问题描述】:

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

【问题讨论】:

  • 您运行的是哪个版本的transformers?此外,请提供您运行模型时使用的参数,包括可用的硬件。
  • 已经解决了,谢谢大家的帮助! :)

标签: gpu pytorch huggingface-transformers


【解决方案1】:

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

另外,当你运行推理时,一定要使用

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

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

【讨论】:

    【解决方案2】:

    我的问题是我没有通过与样本大小的比较来检查我的 GPU 内存大小。我有很多非常小的样本,经过多次迭代后得到了一个大样本。我的错。 谢谢,如果您遇到这种情况,请记得检查这些事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 2021-08-08
      相关资源
      最近更新 更多