当图层不可训练时拟合keras模型会产生不一致的结果

时间:2017-07-10 16:22:08

标签: machine-learning neural-network keras theano keras-2

我试图在没有训练和更新权重的情况下确定模型的准确性,因此我将所有图层设置为trainable = False

当我使用fit_generator在生成器上运行shuffle = False时,每次都会获得一致的结果。

当我在fit_generator的生成器上运行shuffle = True时,结果会跳了一下。鉴于输入数据是相同的,并且模型没有训练,我希望模型的内部状态不会改变,并且无论顺序如何,相同数据集的精度都是相同的。

然而,这种排序依赖性意味着尽管trainable = False,模型中的某种状态仍在变化。模型中发生了什么导致了这种情况?

1 个答案:

答案 0 :(得分:0)

这是一个非常有趣的现象。它可能是由于大多数神经网络包使用float32精度这一事实而产生的 - 这可以提供高达5-7小数点的准确度。 Here你可以阅读详细的解释。