在tf.layers.batch_normalization(training =?)中使用训练=是或否的区别是什么?

时间:2018-03-21 05:05:06

标签: python tensorflow batch-processing normalization

最近,我做了一个关于使用tf.layers.batch_normalization(input, training=True)using tf.layers.batch_normalization(input)的实验,两种情况都在训练期间。

但是发生了一些奇怪的事情。如果我使用tf.layers.batch_normalization(input, training=True)tfevent file创建的tf.summary大约为400MB,但如果我使用tf.layers.batch_normalization(input),那个文件只有大约20MB,我无法理解那个,谁能帮我解决这个问题,谢谢!

1 个答案:

答案 0 :(得分:0)

正如所解释的here批量标准化在培训verus测试时间期间具有不同的行为:

在测试阶段,您可以根据小批量统计数据标准化图层激活,而在测试中,您可以根据估计的人口统计数据进行标准化。

此行为由training参数控制,如TensorFlow's documentation中所述。

因此,在测试期间,存储的信息很少。但是,您不应该将其设置为培训目的。

希望这有帮助!