【发布时间】:2020-06-17 04:35:56
【问题描述】:
我正在尝试使用 jupyter notebook 运行 pytorch 代码,但出现此错误
RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 2.00 GiB total capacity; 1.23 GiB already allocated; 18.83 MiB free; 1.25 GiB reserved in total by PyTorch)
我已经找到答案了。最重要的是,只是减少批量大小。 我已经尝试将批量大小从 20 减少到 10 到 2 和 1。现在仍然无法运行代码
我的 GPU 是 Quadro p620
【问题讨论】:
-
您使用的是什么型号,输入尺寸是多少?对于任何复杂的模型,2GB 的 GPU 内存都不够用,尤其是对于需要更大输入大小的任务。
-
@MichaelJungo 我正在使用这个模型github.com/alterzero/RBPN-PyTorch/blob/master/main.py(视频超分辨率)我的输入尺寸是“torch.Size([2, 3, 64, 64])"
-
即使输入相当小,超分辨率最终会使用更多内存,因为它会增加大小。我认为 2GB 不足以训练该模型。如果您只想使用预训练模型,则应确保禁用渐变,方法是设置
torch.set_grad_enabled(False)或使用torch.no_gradcontext manager。否则,很遗憾,您将不得不在 CPU 上运行它。 -
尝试使用 1 的批量大小。如果仍然不适合,则可能无法使用 64、64 输入大小。也许尝试使用 Google Colab(如果您只是在测试),因为它提供 8 或 11 GB GPU。
-
@akshayk07 我刚刚将我的 GPU 更改为 RTX2080 (8GB) 我仍然收到此错误 CUDA 内存不足。尝试分配 16.00 MiB(GPU 0;8.00 GiB 总容量;6.02 GiB 已分配;1.25 MiB 空闲;PyTorch 总共保留 6.03 GiB)
标签: python error-handling pytorch runtime