Spec-Zone.ru › TensorFlow 1.15

tf.random.gamma

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

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

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

Основные псевдонимы

`tf.random_gamma`

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

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

tf.compat.v1.random.gamma, tf.compat.v1.random_gamma, `tf.compat.v2.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. Производные вычисляются с использованием метода, описанного в статье

Michael Figurnov, Shakir Mohamed, Andriy Mnih. Неявные градиенты перепараметризации, 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-мерный целочисленный тензор или массив 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.compat.v1.set_random_seed для поведения.
name Необязательное имя операции.
Возвращаемые значения
samples тензор Tensor с формой tf.concat([shape, tf.shape(alpha + beta)], axis=0) и значениями типа dtype.

© 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/r1.15/api_docs/python/tf/random/gamma

Spec-Zone.ru

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