Я хочу изменить нормализацию партии на групповую нормализацию в моей модели перезапуска.
Затем я обнаружил, что в тензорном потоке слою нормализации партии нужен аргумент «is_training», но для нормализации группы этот аргумент не нужен. Кто-нибудь может сказать мне, почему? Пожалуйста.
Tensorflow API показывает два слоя следующим образом:
Уровень нормализации партии
tf.contrib.layers.batch_norm(
inputs,
decay=0.999,
center=True,
scale=False,
epsilon=0.001,
activation_fn=None,
param_initializers=None,
param_regularizers=None,
updates_collections=tf.GraphKeys.UPDATE_OPS,
is_training=True,
reuse=None,
variables_collections=None,
outputs_collections=None,
trainable=True,
batch_weights=None,
fused=None,
data_format=DATA_FORMAT_NHWC,
zero_debias_moving_mean=False,
scope=None,
renorm=False,
renorm_clipping=None,
renorm_decay=0.99,
adjustment=None
)
Уровень нормализации группы
tf.contrib.layers.group_norm(
inputs,
groups=32,
channels_axis=-1,
reduction_axes=(-3, -2),
center=True,
scale=True,
epsilon=1e-06,
activation_fn=None,
param_initializers=None,
reuse=None,
variables_collections=None,
outputs_collections=None,
trainable=True,
scope=None
)