Spec-Zone.ru › TensorFlow 1.15

tf.contrib.distributions.bijectors.FillTriangular

Преобразует векторы в треугольные.

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

tf.contrib.distributions.bijectors.FillTriangular(
    upper=False, validate_args=False, name='fill_triangular'
)

Элементы треугольной матрицы заполняются по часовой стрелке по спирали.

Для входных данных с формой batch_shape + [d], создаётся выход с формой batch_shape + [n, n], где n = (-1 + sqrt(1 + 8 * d))/2. Это следует из решения квадратного уравнения d = 1 + 2 + ... + n = n * (n + 1)/2.

Пример

b = tfb.FillTriangular(upper=False)
b.forward([1, 2, 3, 4, 5, 6])
# ==> [[4, 0, 0],
#      [6, 5, 0],
#      [3, 2, 1]]

b = tfb.FillTriangular(upper=True)
b.forward([1, 2, 3, 4, 5, 6])
# ==> [[1, 2, 3],
#      [0, 5, 6],
#      [0, 0, 4]]

Аргументы
upper Python bool представляющий, должна ли выходная матрица быть верхней треугольной (True) или нижней треугольной (False, по умолчанию).
validate_args Python bool указывающий, нужно ли проверять аргументы на корректность.
name Python str имя, заданное для операций, управляемых этим объектом.
Атрибуты
dtype тип данных Tensor преобразуемых этим распределением.
forward_min_event_ndims Возвращает минимальное количество измерений, на которых bijector.forward работает.
graph_parents Возвращает список graph_parents этого Bijector.
inverse_min_event_ndims Возвращает минимальное количество измерений, на которых bijector.inverse работает.
is_constant_jacobian Возвращает True, если матрица Якоби не является функцией от x.
Примечание: Матрица Якоби либо постоянна для обоих, forward и inverse, или ни для кого.
name Возвращает строковое имя этого Bijector.
validate_args Возвращает True, если тензорные аргументы будут валидироваться.

Методы

forward

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

forward(
    x, name='forward'
)

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

Аргументы
x Tensor. Входное значение для вычисления "forward".
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 Имя, которое нужно дать этому op.
Возвращаемое значение
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 Имя, которое нужно дать этому op.
Возвращаемое значение
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 имя для op
Возвращаемое значение
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/FillTriangular

Spec-Zone.ru

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