gpt4 book ai didi

tensorflow - 如何在 Keras 测试期间使用批量标准化?

转载 作者:行者123 更新时间:2023-12-03 16:38:30 26 4
gpt4 key购买 nike

我目前正在尝试使用 Keras 中的 Batch Normalization 实现一个模型。我已经成功地在训练阶段实现了它。

然而,对于测试,批量归一化在通过网络进行前向传递之前计算整个种群的统计数据(均值和方差)(BN 均值和方差是预先计算的,然后保持静态;这与训练相反阶段,其中均值和方差由批次确定)。

我关于 Keras 的问题是:

假设 (X, y) 是整个总体。
假设 (X_batch, y_batch) 是一个批次(整个种群的一个子集)

如果我使用

model.test_on_batch(X_batch, y_batch)

如何将 X 和 y 的整个总体的均值和方差传递给批量归一化层?有什么办法可以让 keras 自动处理这个问题吗?

最佳答案

how can I pass on to the batch-normalization layer the mean and variance of the entire population for X and y? Is there any way I can let keras handle this automatically?



Keras 应该这样做(在足够新的版本中):

https://github.com/fchollet/keras/issues/81

要仔细检查,您可能想尝试 batch_size=1在测试/预测时,如果 Keras 未能使用全局统计数据,您可能会看到非常糟糕的结果。

关于tensorflow - 如何在 Keras 测试期间使用批量标准化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44168054/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com