我试图在没有训练和更新权重的情况下确定模型的准确性,因此我将所有图层设置为trainable = False
。
当我使用fit_generator
在生成器上运行shuffle = False
时,每次都会获得一致的结果。
当我在fit_generator
的生成器上运行shuffle = True
时,结果会跳了一下。鉴于输入数据是相同的,并且模型没有训练,我希望模型的内部状态不会改变,并且无论顺序如何,相同数据集的精度都是相同的。
然而,这种排序依赖性意味着尽管trainable = False
,模型中的某种状态仍在变化。模型中发生了什么导致了这种情况?
答案 0 :(得分:0)
这是一个非常有趣的现象。它可能是由于大多数神经网络包使用float32
精度这一事实而产生的 - 这可以提供高达5-7小数点的准确度。 Here你可以阅读详细的解释。