Функция nn.sufficient_statistics
Функция nn.sufficient_statistics применяется к данным
для вычисления базовых статистических величин.
Первым параметром передаётся входной тензор.
Вторым параметром указывается ось (axes), по которой
производится вычисление статистик.
Третьим параметром задаётся логическое значение keepdims,
которое определяет, сохранять ли размерность после вычислений.
Четвёртым параметром передаётся имя операции.
Функция возвращает кортеж из четырёх тензоров:
количество элементов, сумму, сумму квадратов
и сумму кубов элементов.
Синтаксис
tf.nn.sufficient_statistics(x, axes, shift=None, keepdims=False, name=None)
Пример
Давайте вычислим достаточные статистики для тензора по всем осям:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5], dtype=tf.float32)
count, sum_x, sum_sq, sum_cu = tf.nn.sufficient_statistics(t, axes=[0])
print(count, sum_x, sum_sq, sum_cu)
Результат выполнения кода:
tf.Tensor([5.], shape=(1,), dtype=float32) tf.Tensor([15.], shape=(1,), dtype=float32) tf.Tensor([55.], shape=(1,), dtype=float32) tf.Tensor([225.], shape=(1,), dtype=float32)
Пример
Давайте вычислим достаточные статистики для двумерного тензора
по оси 0 и сохраним размерность:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
count, sum_x, sum_sq, sum_cu = tf.nn.sufficient_statistics(t, axes=[0], keepdims=True)
print(count, sum_x, sum_sq, sum_cu)
Результат выполнения кода:
tf.Tensor([[2.]], shape=(1, 1), dtype=float32) tf.Tensor([[5. 7. 9.]], shape=(1, 3), dtype=float32) tf.Tensor([[17. 29. 45.]], shape=(1, 3), dtype=float32) tf.Tensor([[65. 133. 189.]], shape=(1, 3), dtype=float32)
Пример
Давайте вычислим достаточные статистики для двумерного тензора
по оси 1:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
count, sum_x, sum_sq, sum_cu = tf.nn.sufficient_statistics(t, axes=[1])
print(count, sum_x, sum_sq, sum_cu)
Результат выполнения кода:
tf.Tensor([3. 3.], shape=(2,), dtype=float32) tf.Tensor([ 6. 15.], shape=(2,), dtype=float32) tf.Tensor([14. 77.], shape=(2,), dtype=float32) tf.Tensor([36. 216.], shape=(2,), dtype=float32)
Смотрите также
-
функцию
moments,
которая вычисляет среднее и дисперсию -
функцию
normalize_moments,
которая нормализует данные по моментам -
функцию
batch_normalization,
которая выполняет пакетную нормализацию -
функцию
l2_normalize,
которая выполняет L2-нормализацию