Spec-Zone.ru › TensorFlow 1.15

tf.contrib.distributions.bijectors.Inline

Биджектор, созданный на основе пользовательских вызываемых функций.

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

tf.contrib.distributions.bijectors.Inline(
    forward_fn=None, inverse_fn=None, inverse_log_det_jacobian_fn=None,
    forward_log_det_jacobian_fn=None, forward_event_shape_fn=None,
    forward_event_shape_tensor_fn=None, inverse_event_shape_fn=None,
    inverse_event_shape_tensor_fn=None, is_constant_jacobian=False,
    validate_args=False, forward_min_event_ndims=None, inverse_min_event_ndims=None,
    name='inline'
)

Пример использования:

exp = Inline(
  forward_fn=tf.exp,
  inverse_fn=tf.math.log,
  inverse_log_det_jacobian_fn=(
    lambda y: -tf.reduce_sum(tf.math.log(y), axis=-1)),
  name="exp")

Приведённый выше пример эквивалентен Bijector Exp().

Аргументы
forward_fn Python-вызываемая функция, реализующая прямое преобразование.
inverse_fn Python-вызываемая функция, реализующая обратное преобразование.
inverse_log_det_jacobian_fn Python-вызываемая функция, реализующая логарифм определителя якобиана обратного преобразования.
forward_log_det_jacobian_fn Python-вызываемая функция, реализующая логарифм определителя якобиана прямого преобразования.
forward_event_shape_fn Python-вызываемая функция, реализующая изменение формы статического события, отличное от тождественного. По умолчанию предполагается, что форма не изменяется.
forward_event_shape_tensor_fn Python-вызываемая функция, реализующая изменение формы события, отличное от тождественного. По умолчанию предполагается, что форма не изменяется.
inverse_event_shape_fn Python-вызываемая функция, реализующая изменение формы статического события, отличное от тождественного. По умолчанию предполагается, что форма не изменяется.
inverse_event_shape_tensor_fn Python-вызываемая функция, реализующая изменение формы события, отличное от тождественного. По умолчанию предполагается, что форма не изменяется.
is_constant_jacobian Python-переменная, указывающая на то, что якобиан постоянен для всех входных аргументов.
validate_args Python-переменная, указывающая, следует ли проверять корректность аргументов.
forward_min_event_ndims Python-переменная, указывающая минимальную размерность, на которой действует этот биджектор.
inverse_min_event_ndims Python-переменная, указывающая минимальную размерность, на которой действует этот биджектор.
name Python-переменная, указывающая имя, присваиваемое операциям, управляемым этим объектом.
Атрибуты
dtype Тип данных Tensor преобразуемых этим распределением.
forward_min_event_ndims Возвращает минимальное количество измерений, на которых работает bijector.forward.
graph_parents Возвращает список graph_parents этого Bijector.
inverse_min_event_ndims Возвращает минимальное количество измерений, на которых работает bijector.inverse.
is_constant_jacobian Возвращает true, если матрица Якоби не является функцией от x.
Примечание: Матрица Якоби либо постоянна для прямого и обратного преобразований, либо для ни одного.
name Возвращает строковое имя этого Bijector .
validate_args Возвращает True, если аргументы Tensor будут валидироваться.

Методы

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 1D 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 одномерного 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/Inline

Spec-Zone.ru

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