tf.keras.layers.GroupNormalization
Слой групповой нормализации.
Наследует от: Layer, Operation
tf.keras.layers.GroupNormalization(
groups=32,
axis=-1,
epsilon=0.001,
center=True,
scale=True,
beta_initializer='zeros',
gamma_initializer='ones',
beta_regularizer=None,
gamma_regularizer=None,
beta_constraint=None,
gamma_constraint=None,
**kwargs
)
Групповая нормализация разделяет каналы на группы и вычисляет среднее и дисперсию внутри каждой группы для нормализации. На практике её точность стабильнее, чем у пакетной нормализации, при широком диапазоне небольших размеров пакета, если скорость обучения изменяется линейно в соответствии с размером пакета.
Связь со слоевой нормализацией: если число групп равно 1, эта операция становится практически идентичной слоевой нормализации (подробности см. в документации по слоевой нормализации).
Связь с нормализацией экземпляров: если число групп равно размерности входных данных (число групп равно числу каналов), эта операция становится идентичной нормализации экземпляров. Этого можно добиться с помощью groups=-1.
| Аргументы | |
|---|---|
groups | Целое число — количество групп для групповой нормализации. Может находиться в диапазоне [1, N], где N — размерность входных данных. Размерность входных данных должна делиться на количество групп. По умолчанию — 32. |
axis | Целое число или список/кортеж. Ось или оси, по которым выполняется нормализация. Обычно это ось или оси признаков. Исключёнными осями обычно являются ось или оси пакета. -1 обозначает последнюю размерность входных данных. По умолчанию — -1. |
epsilon | Небольшое число с плавающей точкой, добавляемое к дисперсии во избежание деления на ноль. По умолчанию — 1e-3. |
center | Если True, к нормализованному тензору добавляется смещение beta. Если False, beta игнорируется. По умолчанию — True. |
scale | Если True, выполняется умножение на gamma. Если False, gamma не используется. Если следующий слой линейный (например, relu), этот параметр можно отключить, поскольку масштабирование будет выполнено следующим слоем. По умолчанию — True. |
beta_initializer | Инициализатор веса beta. По умолчанию — нули. |
gamma_initializer | Инициализатор веса gamma. По умолчанию — единицы. |
beta_regularizer | Необязательный регуляризатор веса beta. По умолчанию отсутствует. |
gamma_regularizer | Необязательный регуляризатор веса gamma. По умолчанию отсутствует. |
beta_constraint | Необязательное ограничение для веса beta. По умолчанию отсутствует. |
gamma_constraint | Необязательное ограничение для веса gamma. По умолчанию отсутствует. Форма входных данных: произвольная. Используйте именованный аргумент input_shape (кортеж целых чисел, не включающий ось примеров), если этот слой является первым слоем модели. Форма выходных данных: совпадает с формой входных данных. |
**kwargs | Именованные аргументы базового слоя (например, name и dtype). |
Ссылка:
| Атрибуты | |
|---|---|
input | Возвращает входной тензор или входные тензоры символьной операции. Возвращает только тензор или тензоры, соответствующие первому вызову операции. |
output | Возвращает выходной тензор или выходные тензоры слоя. Возвращает только тензор или тензоры, соответствующие первому вызову операции. |
Методы
from_config
@classmethod
from_config(
config
)
Создаёт слой на основе его конфигурации.
Этот метод является обратным по отношению к get_config и позволяет создать такой же слой на основе словаря конфигурации. Он не обрабатывает связи между слоями (это делает Network) и веса (это делает set_weights).
| Аргументы | |
|---|---|
config | Словарь Python, обычно представляющий собой результат get_config. |
| Возвращает | |
|---|---|
| Экземпляр слоя. |
symbolic_call
symbolic_call(
*args, **kwargs
)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/GroupNormalization