首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Keras批处理标准化/标准化

禁用Keras批处理标准化/标准化
EN

Stack Overflow用户
提问于 2017-05-21 19:17:23
回答 2查看 1.6K关注 0票数 1

我使用一个简单的Keras模型来进行序列预测。

我在整个系列中将它的输入标准化。

在训练过程中,模型的预测精度似乎是正确的。但是,当我绘制model.predict()函数的输出时,我可以看到输出已经以某种方式被缩放了。它似乎是某种规范化/标准化的缩放类型。

在培训中更改批处理大小会影响结果。我尝试将批处理大小设置为输入集的大小,以便在一个批处理中完成整个系列的培训,从而提高了结果,但仍然是缩放的。

我的假设是,这与每个输入批的规范化或输出规范化有关。我的模型中没有任何BatchNormalization层。

是否有一种方法可以禁用Keras中输入/输出的默认规范化/标准化(这种默认行为是否存在)?

我使用带有Tensorflow后端和Tensorflow 1.1的Keras 2。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-21 21:11:44

Keras不隐式地插入BN或任何其他规范化。

你一定是在观察别的东西。

票数 1
EN

Stack Overflow用户

发布于 2018-03-21 04:54:31

我想我遇到了和你一样的问题。

我查看了Keras包中的源代码,以寻找线索。在../keras/engine/training.py中,在训练、评估和预测函数中使用了一个名为_standardize_user_dara()的函数。该函数旨在标准化输入数据(似乎是通过批处理),但是在源代码中还找不到一个去标准化的函数。

据我猜测,Keras对输入数据进行标准化,但对输出数据没有进行反标准化。我不确定这一点,因为我没有检查所有的代码,这是不可能的…顺便说一下,我读了其他一些用时间序列数据实现LSTM的代码,SKlearn包被用来进行缩放和逆缩放。这可能是一个解决方案…我知道这篇文章很古老,但是如果你对Keras的标准化机制有什么想法的话,请告诉我,这会很有帮助的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44100837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档