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’.
- 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) ()