大型数据集和 Cuda 内存问题

时间:2021-04-08 03:47:45

标签: pytorch

我正在处理一个大型数据集并遇到此错误:“运行时错误:CUDA 内存不足。试图分配 1.35 GiB(GPU 0;8.00 GiB 总容量;已分配 3.45 GiB;1.20 GiB 空闲;4.79 GiB 保留在PyTorch 总计)。

有没有想过如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

我之前也遇到过同样的问题。这不是错误,您只是 GPU 内存不足。

  1. 解决此问题的一种方法是减少批处理大小,直到您的代码运行时不会出现此错误。
  2. 如果它不起作用,最好了解您的模型。单个 8GiB GPU 可能无法处理大而深的模型。您应该考虑更换具有更大内存的 GPU,并找到可以帮助您的实验室(Google Colab 可以提供帮助)
  3. 如果您只是进行评估,则强制运行张量 CPU 就可以了
  4. 尝试模型压缩算法

答案 1 :(得分:1)

如果您使用的是全批次梯度下降(或类似方法),请使用小批次而不是较小的批次大小,并在数据加载器中反映相同的情况。