Google Colab错误:缓冲数据在达到输出大小限制后被截断



问题

我正在谷歌实验室上训练一个简单的人工神经网络(ANN),并收到一条错误消息:

"缓冲数据在达到输出大小限制后被截断。">

调用GridSearch时,此错误消息出现在最后一个代码块处。

笔记本链接:https://colab.research.google.com/drive/1TDYumLOoKA1VhrDlW38ztSbBPFmijIDz

此链接包含正在运行的完整代码。

Symptons

我第一次尝试执行步骤1(导入数据)到步骤6(评估ANN),结果Chrome崩溃了,可能是由于资源不足。我在这里研究并发现了一个关于限制输出日志的线程:

Google Colab内存不足,无法打开此页面

在谷歌上搜索了如何做到这一点后,我在笔记本上插入了"步骤0",这似乎解决了Chrome崩溃的问题。

ANN的训练现在进行了几个小时,并到达步骤6,在那里我收到以下输出(请在最后一行向右滚动查看错误):

Epoch 105/500
7200/7200 [==============================] - 0s 56us/step - loss: 0.4021 - acc: 0.8353
Epoch 106/500
7200/7200 [==============================] - 0s 59us/step - loss: 0.4019 - acc: 0.8351
Epoch 107/500
7200/7200 [==============================] - 0s 59us/step - loss: 0.4019 - acc: 0.8354
Epoch 108/500
7200/7200 [==============================] - 0s 58us/step - loss: 0.4019 - acc: 0.8347
Epoch 109/500
7200/7200 [==============================] - 0s 58us/step - loss: 0.4019 - acc: 0.8351
Epoch 110/500
1825/7200 [======>.......................] - ETA: 0s - loss: 0.3930 - acc: 0.8400Buffered data was truncated after reaching the output size limit.

我试过什么

除了插入步骤0,限制输出日志记录外,我还尝试过在谷歌和StackOverflow上搜索,但没有成功。唯一相关的线程是:

缓冲数据在达到输出大小限制后被截断

然而,作者没有回应,给出的建议也不适用,因为培训是在谷歌Colab上进行的,而不是本地的。因此,"关闭程序并重新运行"并不能真正起作用,我多次关闭和重新打开应用程序也不可行。

最后,如果Google Colab未能训练出这个简单的ANN,那么除了在深度学习中执行"Hello world"类型的示例之外,我们还应该如何将其用于其他任何事情呢?

结论

我仍然坚持限制输出大小的限制。我不需要看到整个输出,最好只看到前5行和最后5行左右…

终止的是缓冲数据的显示,它必须被显示,而不是计算本身,所以它无论如何都不会影响你的模型,你可以继续你的模型并继续进行,而不必太担心这一点。

如果你对互联网上的陌生人持怀疑态度,并想亲自验证,你可以做这个简单的实验。

你可以限制历元的数量并使用多个train语句,因为你使用的是GridSearchCV,它不会在多个运行中保留最佳超参数,所以你必须手动处理,你可以使用列表来存储所有超参数并存储它们的值,也可以为每个运行创建局部最优值,然后在其中选择全局最优值,然后你可以将其与你现在运行它的方式得到的结果进行比较。

限制输出日志记录或任何其他类似机制都不起作用,重新启动笔记本也不起作用——因为问题不在于它计算什么,而在于它显示什么。如果输出缓冲区溢出,那么下次必须显示输出时,它会自动处理。

最新更新