mindspore.nn.probability.bijector.ScalarAffine

class mindspore.nn.probability.bijector.ScalarAffine(scale=1.0, shift=0.0, name='ScalarAffine')[source]

Scalar Affine Bijector. This Bijector performs the operation:

\[Y = a * X + b\]

where a is the scale factor and b is the shift factor.

Parameters
Supported Platforms:

Ascend GPU

Note

The dtype of shift and scale must be float. If shift, scale are passed in as numpy.ndarray or tensor, they have to have the same dtype otherwise an error will be raised.

Raises

TypeError – When the dtype of shift or scale is not float, and when the dtype of shift and scale is not same.

Examples

>>> import mindspore
>>> import mindspore.nn as nn
>>> from mindspore import Tensor
>>>
>>> # To initialize a ScalarAffine bijector of scale 1.0 and shift 2.
>>> scalaraffine = nn.probability.bijector.ScalarAffine(1.0, 2.0)
>>> value = Tensor([1, 2, 3], dtype=mindspore.float32)
>>> ans1 = scalaraffine.forward(value)
>>> print(ans1.shape)
(3,)
>>> ans2 = scalaraffine.inverse(value)
>>> print(ans2.shape)
(3,)
>>> ans3 = scalaraffine.forward_log_jacobian(value)
>>> print(ans3.shape)
()
>>> ans4 = scalaraffine.inverse_log_jacobian(value)
>>> print(ans4.shape)
()
property shift

Return the shift parameter of the bijector.

Returns

Tensor, the shift parameter of the bijector.

property scale

Return the scale parameter of the bijector.

Returns

Tensor, the scale parameter of the bijector.

forward(value)

forward mapping, compute the value after mapping as \(Y = g(X)\).

Parameters

  • value (Tensor) - the value to compute.

Returns

Tensor, the value to compute.

forward_log_jacobian(value)

compute the log value after mapping, namely \(\log(dg(x) / dx)\).

Parameters

  • value (Tensor) - the value to compute.

Returns

Tensor, the log value of forward mapping.

inverse(value)

Inverse mapping, compute the value after inverse mapping as \(X = g(value)\).

Parameters

  • value (Tensor) - the value of output after mapping.

Returns

Tensor, the value of output after mapping.

inverse_log_jacobian(value)

Compute the log value of the inverse mapping, namely \(\log(dg^{-1}(x) / dx)\).

Parameters

  • value (Tensor) - the value of output after mapping.

Returns

Tensor, the log value of the inverse mapping.