【问题标题】:Clarification of how Batch normalization works on Tensorflow澄清批量标准化如何在 Tensorflow 上工作
【发布时间】:2021-11-05 02:23:34
【问题描述】:

为了更好地理解 BN 的工作原理,我决定编写批量标准化代码并将其与 TF 实现进行比较。我做了一个简单的例子(附图片)。如图所示,我计算了批次中每个通道的均值和方差。之后,我使用 BN paper 中提供的公式对数据进行归一化,减去均值,然后除以方差的根(我没有使用比例因子或移位)。然后,我使用了 TF 中的函数 tf.keras.layers.BatchNormalization(center=False, scale=False)。 结果完全不同。

我希望得到一些帮助,以澄清如何在 TensorFlow (TF) 上执行批量标准化 (BN),以及是否有人对结果与 TF 如此不同的原因有所了解。

谢谢。

【问题讨论】:

  • 你用training=True调用了TF的BatchNorm吗?
  • 是的,我设置 training=True。
  • 请查看BatchNormalization 中描述的here 详细信息。

标签: python tensorflow deep-learning


【解决方案1】:
猜你喜欢
  • 2017-10-20
  • 2017-03-03
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 2018-04-09
  • 2016-03-01
  • 2020-01-18
  • 2016-03-03
相关资源
最近更新 更多