# Create the Y=g(X)=exp(X) transform which works only on Tensors with 1
# batch ndim 2.
exp = Exp()
x = [[[1., 2],
[3, 4]],
[[5, 6],
[7, 8]]]
exp(x) == exp.forward(x)
log(x) == exp.inverse(x)
Примечание: функция exp(.) применяется поэлементно, но якобиан вычисляется как сводка по пространству событий.
Аргументы
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.
Примечание: Матрица якобиана либо постоянна для обоих, либо ни для одного преобразования.
name
Возвращает строковое имя этого Bijector.
power
c в: Y = g(X) = (1 + X * c)**(1 / c).
validate_args
Возвращает True, если аргументы типа Tensor будут валидированы.
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} не реализованы, или это неинъективный биектор.
Возвращает обратное вычисление Bijector, т. е., X = g^{-1}(Y).
Аргументы
y
Tensor. Вход для вычисления "обратного" преобразования.
name
Имя для данной операции.
Возвращаемое значение
Tensor, если этот биектор является инъективным. Если не инъективный, возвращает кортеж длины k, содержащий уникальные k точки (x1, ..., xk) такие, что g(xi) = 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.