Spec-Zone.ru › TensorFlow 1.15

tf.contrib.layers.group_norm

Функциональный интерфейс для слоя групповой нормализации.

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, mean_close_to_zero=False
)

Ссылка: https://arxiv.org/abs/1803.08494

"Групповая нормализация", Юксин Ву, Кайминг Хе

Аргументы
inputs Тензор с по крайней мере 2 измерениями, одним из которых являются каналы. Все размерности формы, кроме размера пакета, должны быть полностью определены.
groups Целое число. Разделите каналы на это количество групп, по которым будут вычисляться статистические данные о нормализации. Это число должно соответствовать количеству каналов в inputs.
channels_axis Целое число. Указывает индекс оси каналов, которая будет разбита на groups, для каждой из которых будут вычисляться статистические данные. Должно быть взаимно исключающим с reduction_axes. Рекомендуется использовать отрицательные целые числа, чтобы быть независимыми от того, включена ли размерность пакета.
reduction_axes Кортеж целых чисел. Указывает размерности, по которым будут накапливаться статистические данные. Должно быть взаимно исключающим с channels_axis. Статистические данные не будут накапливаться по осям, не указанным в reduction_axes или channel_axis. Рекомендуется использовать отрицательные целые числа, чтобы быть независимыми от того, включена ли размерность пакета.

Примеры использования: формат NHWC: channels_axis=-1, reduction_axes=[-3, -2] формат NCHW: channels_axis=-3, reduction_axes=[-2, -1]

center Если True, добавляет смещение beta к нормализованному тензору. Если False, beta игнорируется.
scale Если True, умножает на gamma. Если False, gamma не используется. Когда следующий слой является линейным (например, nn.relu), это можно отключить, так как масштабирование можно выполнить в следующем слое.
epsilon Маленькое число с плавающей точкой, добавляемое к дисперсии, чтобы избежать деления на ноль.
activation_fn Функция активации, по умолчанию установлена в None, чтобы пропустить её и сохранить линейную активацию.
param_initializers Необязательные инициализаторы для beta, gamma, скользящего среднего и скользящей дисперсии.
reuse Следует ли повторно использовать слой и его переменные. Для возможности повторного использования необходимо указать область действия слоя.
variables_collections Необязательные коллекции для переменных.
outputs_collections Коллекции для добавления выходных данных.
trainable Если True, также добавляет переменные в коллекцию графа GraphKeys.TRAINABLE_VARIABLES (см. tf.Variable).
scope Необязательная область действия для variable_scope.
mean_close_to_zero Среднее значение input перед ReLU будет близко к нулю, когда размер пакета ≥ 4k для Resnet-50 на TPU. Если True, используйте nn.sufficient_statistics и nn.normalize_moments для вычисления дисперсии. Это тот же поведение, что и fused равно True в нормализации по пакету. Если False, используйте nn.moments для вычисления дисперсии. Когда mean близко к нулю, например, 1e-4, использование mean для вычисления дисперсии может привести к плохим результатам из-за повторяющихся ошибок округления и денормализации в mean. Когда mean велико, например, 1e2, сумма(input^2) настолько велика, что накапливаются только значащие цифры элементов. Поэтому использование суммы (input - mean)^2/n для вычисления дисперсии имеет лучшую точность по сравнению с (сумма(input^2)/n - mean^2), когда mean велико.
Возвращаемое значение
A Tensor представляющий результат операции.
Исключения
ValueError Если ранг inputs не определён.
ValueError Если ранг или размерность каналов inputs не определены.
ValueError Если число групп не соответствует количеству каналов.
ValueError Если reduction_axes или channels_axis выходят за пределы.
ValueError Если reduction_axes не взаимно исключают channels_axis.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/layers/group_norm

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API