Spec-Zone.ru › TensorFlow

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).

Ссылка:

  • Yuxin Wu & Kaiming He, 2018
Атрибуты
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

Spec-Zone.ru

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