4

我首先使用 keras 1.2.0 在 CPU 上运行相同的代码(具有相同的数据),然后在两个代码中使用 keras 2.0.3 keras 带有 TensorFlow 后端,并且我使用 sklearn 进行模型选择,加上 pandas 来读取数据。

当我使用 keras 2.0.3 获得 42 的 MSE(均方误差)和使用 keras 1.2.0 的 21 时,我感到很惊讶。有人可以向我解释为什么会这样吗?为什么使用 keras 2 时出现更多错误?谢谢

PS。此结果是在将代码编辑为 keras 2 标准后得出的。例如,在 Dense 中,我将 keras 1 代码更改为 keras 2 标准。

4

3 回答 3

1

MSE 是真的增加了,还是损失了?如果您使用正则化器,这可能会不一样(即使mean_squared_error用作损失函数),因为正则化器会对损失进行惩罚

我认为早期版本的 keras 只是给了你 MSE,现在他们显示了损失。这可以解释你的观察。

于 2018-01-31T16:55:02.813 回答
0

Keras 1 vs 2 有很多变化。具体来说,这些函数有许多更改的关键字参数,如果您在更新到 Keras 2 后尝试运行它,那么您的 Keras 1 代码将毫无价值。要么降级回 1.2.0 版,要么我建议您前往此处并相应地编辑您的代码。

于 2017-04-27T04:20:01.497 回答
0

可能是一些从 Keras 1.2 更改的默认值。您应该检查 1.2 代码的默认值,并为新代码设置相同的值。

于 2017-04-26T14:53:08.560 回答