问题
我正在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”类型的示例外,我们应该如何将其用于其他用途?
结论
我仍然坚持限制输出大小的限制。我不需要查看整个输出,最好只看到前5行和最后5行...
答案 0 :(得分:1)
终止的是缓冲数据的显示,该数据必须显示而不是计算本身,因此无论如何它都不会影响您的模型,您可以继续进行模型并继续进行操作而不必担心太多。 / p>
如果您对互联网上的陌生人持怀疑态度,并想验证自己可以进行此简单的实验。
您可以限制纪元数并使用多个训练语句,因为您使用的是GridSearchCV,它不会在多次运行中保留最佳的超参数,因此您必须手动处理,可以使用列表存储所有超参数并存储其值,或者您可以为每次运行创建局部最优值,然后在其中选择全局最优值,然后将其与您现在运行方式得到的结果进行比较。
限制输出日志记录或任何其他类似机制将不起作用,也不会重启笔记本,因为问题不在于计算的内容,而是显示的内容。而且,如果输出缓冲区溢出,则下次必须显示输出时,它将自动处理该输出。