Функция nn.normalize_moments
Функция nn.normalize_moments используется для нормализации данных на основе
предварительно вычисленных статистик. Первым параметром передается словарь
или объект, содержащий количество элементов (count), сумму значений
(mean) и сумму квадратов (variance). Вторым параметром
передается тензор, который необходимо нормализовать. Функция вычисляет
среднее и дисперсию на основе накопленных моментов и возвращает
нормализованный тензор.
Синтаксис
tf.nn.normalize_moments(counts, mean, variance, shift=None, name=None)
Пример
Давайте создадим тензор и нормализуем его, используя предварительно заданные моменты:
import tensorflow as tf
t = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0])
# Define accumulated moments: count, mean, variance
counts = tf.constant(5.0)
mean = tf.constant(3.0)
variance = tf.constant(2.0)
# Normalize the tensor
res = tf.nn.normalize_moments(counts, mean, variance)
print(res)
Результат выполнения кода:
tf.Tensor([-1.4142135 -0.70710677 0. 0.70710677 1.4142135], shape=(5,), dtype=float32)
Пример
Давайте применим функцию к двумерному тензору:
import tensorflow as tf
t = tf.constant([[1.0, 2.0], [3.0, 4.0]])
# Define moments for each column
counts = tf.constant([2.0, 2.0])
mean = tf.constant([2.0, 3.0])
variance = tf.constant([1.0, 1.0])
res = tf.nn.normalize_moments(counts, mean, variance)
print(res)
Результат выполнения кода:
tf.Tensor(
[[-1. -1.]
[ 1. 1.]], shape=(2, 2), dtype=float32)
Смотрите также
-
функцию
moments,
которая вычисляет среднее и дисперсию по осям тензора -
функцию
batch_normalization,
которая выполняет пакетную нормализацию слоя -
функцию
sufficient_statistics,
которая вычисляет достаточные статистики для нормализации -
функцию
normalize,
которая нормализует тензор по заданной норме