Spec-Zone.ru › TensorFlow 2.4

tf.random.gamma

Просмотреть исходный код на GitHub

Выводит shape выборок из каждого из заданных распределений Гамма.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.random.gamma, tf.compat.v1.random_gamma

tf.random.gamma(
    shape, alpha, beta=None, dtype=tf.dtypes.float32, seed=None, name=None
)

alpha — это параметр формы, описывающий распределение(я), а beta — это параметр обратной шкалы(ы).

Примечание: Поскольку внутренние вычисления выполняются с использованием float64 и приведение типов имеет floor семантику, мы должны вручную отображать нулевые результаты на наименьшее возможное положительное значение с плавающей запятой, т. е. np.finfo(dtype).tiny. Это означает, что np.finfo(dtype).tiny происходит чаще, чем это должно быть. Такой перекос может произойти только для малых значений alpha, т. е., alpha << 1 или больших значений beta, т. е., beta >> 1.

Выборка отличается дифференцируемостью по отношению к alpha и beta. Производные вычисляются с использованием подхода, описанного в (Figurnov et al., 2018).

Пример:

samples = tf.random.gamma([10], [0.5, 1.5])
# samples has shape [10, 2], where each slice [:, 0] and [:, 1] represents
# the samples drawn from each distribution

samples = tf.random.gamma([7, 5], [0.5, 1.5])
# samples has shape [7, 5, 2], where each slice [:, :, 0] and [:, :, 1]
# represents the 7x5 samples drawn from each of the two distributions

alpha = tf.constant([[1.],[3.],[5.]])
beta = tf.constant([[3., 4.]])
samples = tf.random.gamma([30], alpha=alpha, beta=beta)
# samples has shape [30, 3, 2], with 30 samples each of 3x2 distributions.

loss = tf.reduce_mean(tf.square(samples))
dloss_dalpha, dloss_dbeta = tf.gradients(loss, [alpha, beta])
# unbiased stochastic derivatives of the loss function
alpha.shape == dloss_dalpha.shape  # True
beta.shape == dloss_dbeta.shape  # True
Аргументы
shape Численный тензор 1-D или массив Python. Форма выходных выборок, которые нужно получить по каждому параметризованному распределению alpha/beta.
alpha Тензор или Python-значение или N-мерный массив типа dtype. alpha предоставляет параметр(ы) формы, описывающий(е) распределение(я) Гамма, из которого нужно извлечь выборку. Должен быть совместим по размеру с beta.
beta Тензор или Python-значение или N-мерный массив типа dtype. По умолчанию 1. beta предоставляет параметр(ы) обратной шкалы распределения(ий) Гамма, из которого нужно извлечь выборку. Должен быть совместим по размеру с alpha.
dtype Тип alpha, beta и выхода: float16, float32, или float64.
seed Целое число Python. Используется для создания случайного начального значения для распределений. См. tf.random.set_seed для поведения.
name Необязательное имя операции.
Возвращает
samples а Tensor формы tf.concat([shape, tf.shape(alpha + beta)], axis=0) со значениями типа dtype.

Ссылки:

Неявные градиенты перепараметризации: Figurnov et al., 2018 (pdf)

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/random/gamma

Spec-Zone.ru

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