Spec-Zone.ru › TensorFlow 1.15

tf.contrib.distributions.bijectors.Ordered

Биектор, который отображает тензор x_k, имеющий возрастающие элементы в последнем

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

tf.contrib.distributions.bijectors.Ordered(
    validate_args=False, name='ordered'
)

измерении, в неограниченный тензор y_k.

Как область, так и область значений отображения — [−∞, ∞], однако вход прямого отображения должен быть строго возрастающим. Обратное преобразование биектора, применённое к вектору нормального случайного вектора y ~ N(0, 1) , возвращает отсортированный случайный вектор с тем же распределением x ~ N(0, 1) , где x = sort(y)

В последнем измерении тензора биектор Ordered выполняет: y[0] = x[0] y[1:] = math_ops.log(x[1:] - x[:-1])

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

bijector.Ordered().forward([2, 3, 4])
# Result: [2., 0., 0.]

bijector.Ordered().inverse([0.06428002, -1.07774478, -0.71530371])
# Result: [0.06428002, 0.40464228, 0.8936858]
Атрибуты
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'
)

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

Аргументы
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'
)

Возвращает (log o det o Jacobian o inverse)(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 Имя для данного op.
Возвращаемое значение
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/Ordered

Spec-Zone.ru

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