Spec-Zone.ru › TensorFlow 1.15

tf.contrib.distributions.bijectors.AbsoluteValue

Вычисляет Y = g(X) = Abs(X), поэлементно.

Наследуется от: Bijector

tf.contrib.distributions.bijectors.AbsoluteValue(
    validate_args=False, name='absolute_value'
)

Этот неинъективный биджектор позволяет преобразовывать скалярные распределения с помощью функции абсолютного значения, которая отображает (-inf, inf) в [0, inf).

  • Для y in (0, inf), AbsoluteValue.inverse(y) возвращает обратное отображение {x in (-inf, inf) : |x| = y} в виде кортежа, -y, y.
  • AbsoluteValue.inverse(0) возвращает 0, 0, что не является обратным отображением (обратное отображение — это синглетон {0}), но «работает» вместе с TransformedDistribution для получения слева полунепрерывной плотности.
  • Для y < 0, AbsoluteValue.inverse(y) счастливо возвращает неправильное значение, -y, y. Это делается для повышения эффективности. Если validate_args == True, y < 0 вызовет исключение.
tfd = tf.contrib.distributions

abs = tfd.bijectors.AbsoluteValue()

abs.forward([-1., 0., 1.])
==> [1., 0.,  1.]

abs.inverse(1.)
==> [-1., 1.]

# The |dX/dY| is constant, == 1.  So Log|dX/dY| == 0.
abs.inverse_log_det_jacobian(1.)
==> [0., 0.]

# Special case handling of 0.
abs.inverse(0.)
==> [0., 0.]

abs.inverse_log_det_jacobian(0.)
==> [0., 0.]
Аргументы
validate_args Python-значение, указывающее, следует ли проверять аргументы на корректность, в частности, являются ли входные данные для inverse и inverse_log_det_jacobian неотрицательными.
name Python-имя, присваиваемое операциям, управляемым этим объектом.
Атрибуты
dtype тип данных Tensor преобразуемых этим распределением.
forward_min_event_ndims Возвращает минимальное число измерений, на которых биджектор.forward работает.
graph_parents Возвращает список родительских узлов этого Bijector в виде Python-списка.
inverse_min_event_ndims Возвращает минимальное число измерений, на которых биджектор.inverse работает.
is_constant_jacobian Возвращает true, если матрица Якобиан не зависит от x.
Примечание: Матрица Якобиан либо постоянна для прямого и обратного отображения, либо для ни одного из них.
name Возвращает строковое имя этого Bijector.
validate_args Возвращает True, если тензорные аргументы будут проверены.

Методы

forward

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

forward(
    x, name='forward'
)

Возвращает вычисление прямого отображения, т.е., X = g(Y).

Аргументы
x Tensor. Входной параметр для вычисления "прямого отображения".
name Имя, которое нужно дать этому оператору.
Возвращает
Tensor.
Возможные исключения
TypeError если self.dtype указано, и x.dtype не self.dtype.
NotImplementedError если _forward не реализовано.

forward_event_shape

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

forward_event_shape(
    input_shape
)

Форма одного образца из одной партии в виде TensorShape.

То же самое, что и forward_event_shape_tensor. Может быть частично определена.

Аргументы
input_shape TensorShape указывающая форму события, передаваемую в функцию forward .
Возвращает
forward_event_shape_tensor TensorShape указывающая форму события после применения forward. Возможно, неизвестна.

forward_event_shape_tensor

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

forward_event_shape_tensor(
    input_shape, name='forward_event_shape_tensor'
)

Форма одного образца из одной партии как int32 одномерный Tensor.

Аргументы
input_shape Tensor, int32 вектор, указывающий форму части события, переданную в функцию forward.
name имя для операции
Возвращаемое значение
forward_event_shape_tensor Tensor, int32 вектор, указывающий форму части события после применения forward.

forward_log_det_jacobian

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

forward_log_det_jacobian(
    x, event_ndims, name='forward_log_det_jacobian'
)

Возвращает forward_log_det_jacobian.

Аргументы
x Tensor. Вход для вычисления определителя обратной матрицы Якоби.
event_ndims Количество измерений в вероятностных событиях, преобразуемых. Должно быть больше или равно self.forward_min_event_ndims. Результат суммируется по последним измерениям, чтобы получить скалярный определитель Якоби для каждого события, т.е. он имеет форму x.shape.ndims - event_ndims измерений.
name Имя для этой операции.
Возвращаемое значение
Tensor, если этот биектор является инъективным. Если не инъективный, то это не реализовано.
Исключения
TypeError если self.dtype указан, а y.dtype не self.dtype.
NotImplementedError если ни _forward_log_det_jacobian ни {_inverse, _inverse_log_det_jacobian} не реализованы, или это не инъективный биектор.

inverse

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

inverse(
    y, name='inverse'
)

Возвращает обратное вычисление Bijector, т.е., X = g^{-1}(Y).

Аргументы
y Tensor. Вход для вычисления обратной функции.
name Имя для этой операции.
Возвращаемое значение
Tensor, если этот биектор является инъективным. Если не инъективный, возвращает k-кортеж, содержащий уникальные k точки (x1, ..., xk) такие, что g(xi) = y.
Исключения
TypeError если self.dtype указан, а y.dtype не self.dtype.
NotImplementedError если _inverse не реализовано.

inverse_event_shape

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

inverse_event_shape(
    output_shape
)

Форма одного образца из одной партии в виде TensorShape.

То же, что и inverse_event_shape_tensor. Может быть определена только частично.

Аргументы
output_shape TensorShape вектор, указывающий форму части события, переданную в функцию inverse .
Возвращаемое значение
inverse_event_shape_tensor TensorShape вектор, указывающий форму части события после применения inverse. Возможно неизвестно.

inverse_event_shape_tensor

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

inverse_event_shape_tensor(
    output_shape, name='inverse_event_shape_tensor'
)

Форма одного образца из одной партии как int32 1D Tensor.

Аргументы
output_shape Tensor, int32 вектор, указывающий форму части события, переданную в функцию inverse .
name имя для операции
Возвращаемое значение
inverse_event_shape_tensor Tensor, int32 вектор, указывающий форму части события после применения inverse.

inverse_log_det_jacobian

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

inverse_log_det_jacobian(
    y, event_ndims, name='inverse_log_det_jacobian'
)

Возвращает (логарифм от определителя от Якобиана обратной функции)(y).

Математически, возвращает: log(det(dX/dY))(Y). (Напомним, что: X=g^{-1}(Y).)

Обратите внимание, что forward_log_det_jacobian является отрицанием этой функции, вычисленной в точке g^{-1}(y).

Аргументы
y Tensor. Вход для вычисления определителя обратного Якобиана.
event_ndims Число измерений в преобразуемых вероятностных событиях. Должно быть больше или равно self.inverse_min_event_ndims. Результат суммируется по последним измерениям, чтобы получить скалярный определитель Якобиана для каждого события, т.е. он имеет форму y.shape.ndims - event_ndims измерений.
name Имя для данного оператора.
Возвращаемое значение
Tensor, если этот биектор является инъективным. Если не инъективен, возвращает кортеж локальных логарифмов определителей Якобиана, log(det(Dg_i^{-1}(y))), где g_i является ограничением g на ith разбиение Di.
Исключения
TypeError если self.dtype задано, и y.dtype не является self.dtype.
NotImplementedError если _inverse_log_det_jacobian не реализовано.

© 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/contrib/distributions/bijectors/AbsoluteValue

Spec-Zone.ru

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