3

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

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

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

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

4

1 回答 1

0

这是一个非常有趣的现象。这可能是由于大多数神经网络包都使用float32精度这一事实 - 这为您提供了高达 5-7 小数点的精度。在这里您可以阅读详细说明。

于 2017-07-10T18:26:12.433 回答