【发布时间】:2020-11-20 15:00:06
【问题描述】:
我正在尝试使用以下数据集的简单顺序模型。 使用具有 35 GB RAM + 225 GB 磁盘空间的 Colab PRO。
- 总句子数 - 59000
- 总字数 - 160000
- 填充序列长度 - 38
所以 train_x (59000,37), train_y (59000)
我正在使用 FastText 嵌入层。 FastText 模型生成权重 (行) vocab_size 113000 (列/维度) embedding_size 8815
这是 model.summary() 的样子
编译模型大约需要 15 分钟,但 .fit 会在没有足够内存的情况下崩溃。
我已将 batch_size 降低到 4(相对于默认值 32).. 仍然没有运气。
纪元=2 详细=0 batch_size=4
历史 = seq_model.fit(train_x,train_y, epochs=epochs, verbose=verbose,callbacks=[csv_logger],batch_size=batch_size)
感谢任何使这项工作发挥作用的想法。
【问题讨论】:
-
这不是一个简单的序列模型,你的模型有14.98亿个参数,非常大,对比一下ResNet有200万个参数,VGG有1.5亿个左右。训练这么大的模型需要一些工程挑战,所以你也许应该重新考虑一下这是否是你想做的。
-
权重约为 6 Gb。我认为您有机会使用简单的优化器和 1 的 batch_size 进行训练。但是,除非您拥有大量 TPU,否则训练如此庞大的模型可能需要数年时间
-
@Dr.Snoopy - 感谢您的反馈。有任何重新思考的建议吗?
标签: tensorflow machine-learning keras google-colaboratory tensorflow2.0