运行时错误:CUDA 内存不足。试图分配...但内存为空

时间:2021-01-12 11:26:15

标签: memory-management pytorch out-of-memory nvidia

我正在尝试使用默认的超参数(批量大小 = 1)从 Unet 运行训练文件。

我有一个 4GB 的 GTX970,让 Windows 使用集成显卡。

当我运行 nvidia-smi 时,它说 GPU 的内存几乎可用 (52MiB / 4096MiB),“未找到正在运行的进程”并且 pytorch 使用 GPU 而不是集成显卡

我不明白什么在使用内存:

<块引用>

运行时错误:CUDA 内存不足。尝试分配 150.00 MiB(GPU 0;4.00 GiB 总容量;2.77 GiB 已分配;72.46 MiB 空闲;PyTorch 总共预留 2.82 GiB)。

1 个答案:

答案 0 :(得分:0)

GPU 内存分配不是一次性完成的。随着程序加载数据和模型,GPU 内存使用量逐渐增加,直到训练真正开始。在您的情况下,程序已分配 2.7GB 并尝试在训练开始前获得更多内存,但空间不足。 4GB GPU 内存对于 CV 深度学习算法来说通常太小了。