Spec-Zone.ru › TensorFlow 1.15

tf.contrib.layers.layer_norm

Добавляет слой нормализации по слоям.

tf.contrib.layers.layer_norm(
    inputs, center=True, scale=True, activation_fn=None, reuse=None,
    variables_collections=None, outputs_collections=None, trainable=True,
    begin_norm_axis=1, begin_params_axis=-1, scope=None
)

Основано на статье:

"Нормализация по слоям"

Джимми Лей Ба, Джейми Райан Кирос, Джеффри Хинтон

https://arxiv.org/abs/1607.06450

Может использоваться как функция нормализации для conv2d и fully_connected.

Для тензора inputs ранга R, вычисляются моменты, и нормализация выполняется по осям begin_norm_axis ... R - 1. Масштабирование и центрирование, если запрошено, выполняется по осям begin_params_axis .. R - 1.

По умолчанию, begin_norm_axis = 1 и begin_params_axis = -1, что означает, что нормализация выполняется по всем осям, кроме первой (первая ось, если inputs равно NHWC), в то время как параметры beta и gamma для обучения вычисляются для правой оси (правая ось, если inputs равно NHWC). Масштабирование и перецентровка выполняются путем трансляции параметров beta и gamma с нормализованным тензором.

Форматы beta и gamma равны inputs.shape[begin_params_axis:], и эта часть формы ввода должна быть полностью определена.

Аргументы
inputs Тензор ранга R. Нормализация выполняется по осям begin_norm_axis ... R - 1, а параметры центрирования и масштабирования вычисляются по begin_params_axis ... R - 1.
center Если True, добавляет смещение beta к нормализованному тензору. Если False, beta игнорируется.
scale Если True, умножает на gamma. Если False, gamma не используется. Когда следующий слой линейный (например, nn.relu), это можно отключить, так как масштабирование может быть выполнено следующим слоем.
activation_fn Функция активации, по умолчанию None, чтобы пропустить ее и сохранить линейную активацию.
reuse Нужно ли повторно использовать слой и его переменные. Для возможности повторного использования необходимо указать область действия слоя.
variables_collections Дополнительные коллекции для переменных.
outputs_collections Коллекции для добавления выходов.
trainable Если True также добавляет переменные в коллекцию графа GraphKeys.TRAINABLE_VARIABLES (см. tf.Variable).
begin_norm_axis Первое измерение нормализации: нормализация будет выполняться по измерениям begin_norm_axis : rank(inputs)
begin_params_axis Первое измерение параметра (бета, гамма): параметры масштабирования и центрирования будут иметь измерения begin_params_axis : rank(inputs) и будут транслироваться с нормализованными входными данными соответственно.
scope Необязательная область действия для variable_scope.
Возвращаемое значение
Объект Tensor , представляющий результат операции, имеющий такую же форму и тип данных, как inputs.
Исключения
ValueError Если ранг inputs неизвестен во время построения графа или если inputs.shape[begin_params_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/layer_norm

Spec-Zone.ru

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