Ore*_*ija 5 python deep-learning keras tensorflow keras-layer
我已经在Keras的Github中将这个问题发布为问题,但认为它可能会在这里引起更多的读者。
系统信息
描述当前的行为,
我正在执行Seq2Seq 教程中的代码。我所做的唯一且唯一的更改是将LSTM层替换为CuDNNLSTM。发生的事情是该模型为我提供的任何输入预测了固定的输出。当我运行原始代码时,我得到了明智的结果。
描述预期的行为,
请参见上一节。
代码来重现问题
来自这里。只需用CuDNNLSTM替换LSTM。
任何见解都将不胜感激。
所以这里有两个问题。
使用CuDNNLSTM和parameter tuning.
基本上,网络对数据集过度拟合,导致每个输入的输出只有一个句子。这既不是CuDNNLSTM也不是的错LSTM。
首先,
CuDNN与常规的数学有点不同,LSTM使其兼容 Cuda 并运行得更快。LSTM对于您使用的相同代码,在 eng-hindi 文件上运行需要 11 秒,每个CuDNNLSTM时期需要 1 秒。
在 CuDNNLSTM 中,time_major参数设置为false。由于这个原因,网络过度拟合。您可以在这里查看。
对于像 eng-hin 或 eng-marathi 这样的小数据集,您可以清楚地看到val-loss30 个时期后的增长。network loss当您的网络不断减少和val_loss增加时,再运行更多网络是没有意义的。的情况LSTM也相同。
这里你需要param tuning小数据集。
以下是一些可以提供帮助的链接:
| 归档时间: |
|
| 查看次数: |
320 次 |
| 最近记录: |