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

Posted

技术标签:

【中文标题】Google Colab 错误:缓冲数据在达到输出大小限制后被截断【英文标题】:Google Colab Error: Buffered data was truncated after reaching the output size limit 【发布时间】:2019-06-29 22:23:24 【问题描述】:

问题

我正在 Google Colaboratory 上训练一个简单的人工神经网络 (ANN) 并收到一条错误消息:

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

当调用 GridSearch 时,此错误消息出现在最后的代码块中。

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

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

症状

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

Google Colab Not enough memory to open this page

在谷歌搜索如何做到这一点后,我在笔记本中插入了“步骤 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 步、限制输出日志记录之外,我还尝试在 Google 和 *** 上进行搜索,但无济于事。唯一相关的线程是:

Buffered data was truncated after reaching the output size limit

但是,作者没有做出回应,并且给出的一条建议不适用,因为培训是在 Google Colab 上进行的,而不是在本地进行的。因此,“关闭程序并重新运行它”并没有真正起作用,而且我多次关闭并重新打开应用程序也不可行。

最后,如果 Google Colab 无法训练这个简单的 ANN,除了在深度学习中执行“Hello world”类型的示例之外,我们应该如何将它用于其他任何事情?

结论

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

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于Google Colab 错误:缓冲数据在达到输出大小限制后被截断的主要内容,如果未能解决你的问题,请参考以下文章

HTTPError:HTTP 错误 403:在 Google Colab 上被禁止

Google Colab无法访问驱动器内容

不使用多处理但在使用 PyTorch DataLoader 时在 google colab 上出现 CUDA 错误

将 Google Drive 挂载到 Python Colab 错误

如何在 google colab 中使用 ngrok?

Google Colab 中的空闲 GPU 内存