mindspore.nn.probability.bijector.GumbelCDF
- class mindspore.nn.probability.bijector.GumbelCDF(loc=0.0, scale=1.0, name='GumbelCDF')[source]
GumbelCDF Bijector. This Bijector performs the operation:
\[Y = \exp(-\exp(\frac{-(X - loc)}{scale}))\]- Parameters
loc (float, list, numpy.ndarray, Tensor) – The location. Default: 0.0.
scale (float, list, numpy.ndarray, Tensor) – The scale. Default: 1.0.
name (str) – The name of the Bijector. Default: ‘GumbelCDF’.
Note
scale must be greater than zero. For inverse and inverse_log_jacobian, input should be in range of (0, 1). The dtype of loc and scale must be float. If loc, 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 loc or scale is not float, or when the dtype of loc and scale is not same.
- Supported Platforms:
Ascend
GPU
Examples
>>> import mindspore >>> import mindspore.nn as nn >>> import mindspore.nn.probability.bijector as msb >>> from mindspore import Tensor >>> >>> # To initialize a GumbelCDF bijector of loc 1.0, and scale 2.0. >>> gumbel_cdf = msb.GumbelCDF(1.0, 2.0) >>> # To use a GumbelCDF bijector in a network. >>> x = Tensor([1, 2, 3], dtype=mindspore.float32) >>> y = Tensor([0.1, 0.2, 0.3], dtype=mindspore.float32) >>> ans1 = gumbel_cdf.forward(x) >>> print(ans1.shape) (3,) >>> ans2 = gumbel_cdf.inverse(y) >>> print(ans2.shape) (3,) >>> ans3 = gumbel_cdf.forward_log_jacobian(x) >>> print(ans3.shape) (3,) >>> ans4 = gumbel_cdf.inverse_log_jacobian(y) >>> print(ans4.shape) (3,)
- property loc
Return the loc parameter of the bijector.
Returns
Tensor, the loc 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(X)\).
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.