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.
| Args | |
|---|---|
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 | Инициализатор для весового коэффициента бета. По умолчанию ноль. |
gamma_initializer | Инициализатор для весового коэффициента гамма. По умолчанию единица. |
beta_regularizer | Необязательный регуляризатор для весового коэффициента бета. По умолчанию None. |
gamma_regularizer | Необязательный регуляризатор для весового коэффициента гамма. По умолчанию None. |
beta_constraint | Необязательное ограничение для весового коэффициента бета. По умолчанию None. |
gamma_constraint | Необязательное ограничение для весового коэффициента гамма. По умолчанию None. Форма входных данных: произвольная. Используйте ключевое слово input_shape (кортеж целых чисел, не включает ось образцов), когда используете этот слой в качестве первого слоя в модели. Форма выходных данных: такая же, как у входных данных. |
**kwargs | Ключевые аргументы базового слоя (например, name и dtype). |
Ссылка:
| Атрибуты | |
|---|---|
input | Получает тензор(ы) входных данных символической операции. Возвращает только тензор(ы), соответствующий первому вызову операции. |
output | Получает тензор(ы) выходных данных слоя. Возвращает только тензор(ы), соответствующий первому вызову операции. |
Методы
from_config
@classmethod
from_config(
config
)
Создаёт слой из его конфигурации.
Этот метод является обратным get_config, позволяя восстановить тот же самый слой из словаря конфигурации. Он не обрабатывает связность слоёв (обрабатывается сетью), а также веса (обрабатывается set_weights).
| Args | |
|---|---|
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