问题

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

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

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

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

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

表情符号

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

Google Colab Not enough memory to open this page

谷歌搜索如何执行此操作后,我在笔记本中插入了“Step 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和StackOverflow上进行搜索,但均无济于事。唯一相关的线程是这样的:

Buffered data was truncated after reaching the output size limit

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

最后,如果Google Colab无法训练这种简单的ANN,除了在深度学习上执行“Hello world”类型的示异常(exception),我们应该如何将其用于其他用途?

结论

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

最佳答案

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

如果您对互联网上的陌生人持怀疑态度,并且想验证一下自己可以进行此简单的实验。

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

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

10-07 19:45
查看更多