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
scale (float, list, numpy.ndarray, Tensor) – The scale factor. Default: 1.0.
shift (float, list, numpy.ndarray, Tensor) – The shift factor. Default: 0.0.
name (str) – The name of the bijector. Default: ‘ScalarAffine’.
- Inputs and Outputs of APIs:
The accessible APIs of the Scalar affine bijector is defined in the base class, including:
forward
inverse
forward_log_jacobian
inverse_log_jacobian
It should be notice that the inputs to APIs of the Scalar affine bijector should be always a tensor, with a shape that can be broadcasted to that of shift and scale. For more details of all APIs, including the inputs and outputs of APIs of the scalar affine bijector, please refer to
mindspore.nn.probability.bijector.Bijector
, and examples below.- 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.