首页 > 解决方案 > 为什么在 google colab 中使用 print() 函数可以避免内存不足?

问题描述

我使用 google colab 已经有一段时间了,我一直在处理非常大的数据集,有时会耗尽 google collab 的 RAM,实际上我最终租用了 collab PRO,所以现在我有 25GB 的 Ram,它运行良好,但是它发生了一些奇怪的事情,那就是我用这段代码耗尽了 RAM:

trainX1 = np.zeros((200, 3508, 2480))
trainY1 = np.zeros(200)
P = 0
D = 0
for x in range(200):
  k = random.randint(0, 1)
  if k == 1:
    if P < 100:
      trainX1[x, :, :] = np.load(pathP + '/' + NamesP1_train[P])
      trainY1[x] = 0
      P = P + 1
    else:
      trainX1[x, :, :] = np.load(pathD + '/' + NamesD1_train[D])
      trainY1[x] = 1
      D = D + 1
  else:
    if D < 100:
      trainX1[x, :, :] = np.load(pathD + '/' + NamesD1_train[D])
      trainY1[x] = 1
      D = D + 1
    else:
      trainX1[x, :, :] = np.load(pathP + '/' + NamesP1_train[P])
      trainY1[x] = 0
      P = P + 1

所以很自然地,对于调试,我添加了print(x)函数来确定我实际可以处理多少次迭代,但是它完成了,所以我真的很困惑,有人知道为什么会这样吗?在k = random.randint(0,1) 函数之前添加 了print(x)函数

标签: pythonjupyter-notebookgoogle-colaboratoryram

解决方案


推荐阅读