python - 为什么在 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)函数
解决方案
推荐阅读
- php - Spatie 给出了一个错误,例如“用户无权访问此页面。”
- node.js - Google oauth 在本地主机上工作,但不在我的网络服务器上
- gtk - 如何使 StackSwitcher 选项卡可关闭 Gtk/Vala
- mysql - 从可变长度链接MYSQL中提取str
- php - 在 Json PHP 输出中转换数组不符合预期
- ghostscript - 在 OpenWRT 上安装 Ghostscript
- docker - 在 RaspberryPi 4 上的 Docker 中使用 Node-Red 访问 i²c 总线
- c - 从 (void**) 转换为 (int*) 反之亦然
- javascript - 错误:参数“documentPath”的值不是有效的资源路径。路径必须是非空字符串
- azure - Azure VM 元数据丢失/空 publicIpAddress