1

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

4

2 回答 2

2

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

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

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

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

于 2020-02-12T09:17:32.177 回答
0

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

于 2020-02-21T14:18:40.917 回答