tf.compat.v1.layers.batch_normalization以trainable
作为输入。该文档说:
布尔值,如果为True,还将变量添加到图形集合GraphKeys.TRAINABLE_VARIABLES(请参阅tf.Variable)。
我认为只应将比例因子(gamma)和偏移量(beta)添加到可训练变量中,并且我怀疑是否甚至将移动平均线也添加到了GraphKeys.TRAINABLE_VARIABLES中。有人可以告诉我可训练的输入如何影响batch_normalization的行为
答案 0 :(得分:1)
首先,此功能为deprecated,不应该使用。
trainable
参数表示比例因子(gamma)和偏移量(beta)将是可训练的,并且默认情况下为true。
关于移动平均线,那些不可训练,它们仅在每次批处理通过之后才更新,而这些不是参数(tf.Variable
对象)。
请注意,您可以将trainable
设置为false,在这种情况下,如果将beta
和gamma
设置为默认值(分别为零和一),则它们不会影响移动平均线。您可以通过发出center
(对于beta
)或scale
(对于gamma
)来关闭它们。