【发布时间】:2020-04-17 14:34:13
【问题描述】:
是否可以在tf.layers.batch_normalization 中禁用运行平均值计算?即,我希望 BN 在训练和测试中同样工作,只估计输入张量的统计数据。
根据这个方程,动量 = 1.0 是否足以满足这种行为?
x_new_est = (1-momentum) * x_est + momentum * (x_t)
或/和在训练和推理中设置 training=True 就足够了?
训练:Python 布尔值或 TensorFlow 布尔标量 张量(例如占位符)。是否返回训练中的输出 模式(使用当前批次的统计数据标准化)或推理 模式(使用移动统计标准化)。注意:确保设置这个 参数正确,否则您的训练/推理将无法正常工作 正确。
似乎这在 PyTorch 中是可能的 https://pytorch.org/docs/stable/nn.html#torch.nn.BatchNorm2d
如果 track_running_stats 设置为 False,则该层不保留 运行估计,并在期间使用批处理统计信息 评估时间。
【问题讨论】:
标签: python tensorflow pytorch batch-normalization