gpt4 book ai didi

python - 从文件加载后 CNTK/TF LSTM 模型性能下降

转载 作者:太空宇宙 更新时间:2023-11-04 04:41:11 25 4
gpt4 key购买 nike

我尝试使用 CNTK 和 TF 在虚拟数据集上实现 char-LSTM 分类模型,这两个模型在完美数据集上都达到了 100% 的准确率(我现在不担心过度拟合)。

然而,一旦完成训练并将模型保存到文件并恢复,模型似乎忘记了他们的训练并且在同一数据集上表现不佳。

我比较了训练后和恢复后 LSTM 和密集层的权重和偏差,它们完美匹配。我觉得还有其他一些东西需要恢复(可能是 LSTM 状态?)以使模型再次开始准确运行。

恢复的 LSTM 模型是否需要以某种方式“启动”才能再次开始满负荷运行?

代码和数据集可用here .

最佳答案

该问题与保存/加载 LSTM 无关。

在 Python 中,当您将集合转换为列表时,结果未排序且每次运行都不同:

In [1]: list(set(['t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 's', 'p', 'a', 'm']))
Out[1]: ['s', 'a', 'm', 't', 'h', 'p', 'i', ' ']

In [1]: list(set(['t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 's', 'p', 'a', 'm']))
Out[1]: [' ', 'h', 'a', 't', 'm', 'i', 'p', 's']

因此,在您的代码中,不同的字符在每次运行时在向量中的位置不同,因此性能只是随机的。

只需将 all_chars = list(set(all_chars)) 更改为 all_chars = sorted(set(all_chars)) 即可解决问题(我只验证了 CNTK 脚本) .

关于python - 从文件加载后 CNTK/TF LSTM 模型性能下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50572497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com