Spec-Zone.ru › TensorFlow

tf.random.gamma

Создает 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 Целочисленный тензор или массив Python размерности 1. Форма выходных выборок, которые будут созданы для каждого распределения с параметрами 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)

© 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/random/gamma

Spec-Zone.ru

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