tcmalloc:使用Google Colab的大型allog错误

问题描述

我正在使用以下教程在Google Colab平台上构建神经语言模型:https://machinelearningmastery.com/how-to-develop-a-word-level-neural-language-model-in-keras/

我的数据集包含2036456个序列和77069个单词的词汇量,远远大于本教程中使用的数据集,但是我仍然可以在本地计算机上训练该模型。但是,当我尝试使用GPU在Google Colab上训练完整数据集时,出现以下错误

tcmalloc: large alloc 627790512128 bytes == 0x4789c000 @ 0x7fc0aaaf8001 0x7fc0a861c765 0x7fc0a8680bb0 ...

我设法弄清楚了该错误代码中的什么地方出现,而造成这种情况的罪魁祸首是以下行,其中keras.to_categorical()函数调用来对一字编码的输出单词进行编码:

y = to_categorical(y,num_classes=vocab_size)

这告诉我,一键编码(相当大的)词汇时,某些东西会中断,但是我不明白为什么这不是本地计算机上的问题。

在其他线程中,我读到这可能是内存问题,确实确实好像Google GPU内存不足(我分配了大约12 GB的RAM)。同样,这在我的本地计算机上不是问题,这是一个具有16 GB RAM的简单MacBook Pro,我可以用它加载数据并训练模型(尽管速度很慢)。在训练过程中,加载完整的数据集后,该过程将占用约13 GB的RAM,与云GPU服务器上相同数据集的10%所需的内存量没有太大差异。

我在做什么错?我的本地计算机如何处理数据而Google Colab无法处理数据?还是这个问题与数据完全无关?

谢谢, 答:

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)