最近,我正在使用Google Colab GPU训练模型。训练后,我删除了用于训练的大变量,但是我注意到滑枕仍然很满。我想知道到底发生了什么,RAM中到底有什么?如何在不重新启动的情况下释放RAM?
答案 0 :(得分:0)
关于GPU内存,请参阅This Question(之前为我工作的子进程解决方案和numba GPU内存重置):
CPU内存通常用于GPU-CPU数据传输,因此这里无事可做,但是您可以通过以下简单技巧获得更多内存:
a=[]
while True:
a.append('qwertyqwerty')
colab运行时将停止并为您提供增加内存的选项。
深度学习愉快!
答案 1 :(得分:0)
我认为变量本身不会占用太多内存。
如果有选择,可以试试colab pro。然后,您将可以选择访问高内存 VM(请参阅 here)。价格为 9.99 美元/月。
一个(可能不是很好)是使用较小的数据集。请注意,您的磁盘空间比 RAM 多得多。我所做的是将原始数据集拆分为几个较小的集合,然后用这些数据集训练神经网络。
另一种方法是检查你的代码,看看是否有一些变量存储了大数组,但你只用了一次。然后您可以将这些变量设置为零或空列表。就像:
a = np.load("a_very_large_array.npy")
foo(a) # use array a only here
a = []