mindspore.nn.probability.bijector.Invert
- class mindspore.nn.probability.bijector.Invert(bijector, name='')[源代码]
逆映射Bijector(Invert Bijector)。 计算输入Bijector的逆映射。如果正向映射(下面的 bijector 输入)对应的映射函数为 \(Y = g(X)\) ,那么对应的逆映射Bijector的映射函数为 \(Y = h(X) = g^{-1}(X)\) 。
- 参数:
bijector (Bijector) - 基础Bijector(Base Bijector)。
name (str) - Bijector名称。默认值:
""
。当name设置为""时,实际上是'Invert' + Bijector.name。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> import mindspore >>> import mindspore.nn as nn >>> import mindspore.nn.probability.bijector as msb >>> from mindspore import Tensor >>> class Net(nn.Cell): ... def __init__(self): ... super(Net, self).__init__() ... self.origin = msb.ScalarAffine(scale=2.0, shift=1.0) ... self.invert = msb.Invert(self.origin) ... ... def construct(self, x_): ... return self.invert.forward(x_) >>> forward = Net() >>> x = np.array([2.0, 3.0, 4.0, 5.0]).astype(np.float32) >>> ans = forward(Tensor(x, dtype=mindspore.float32)) >>> print(ans.shape) (4,)
- property bijector
Bijector类,返回基础Bijector。
- forward(x)[源代码]
计算基础Bijector的逆映射,即 \(Y = h(X) = g^{-1}(X)\) 。
- 参数:
x (Tensor) - 基础Bijector的输出随机变量的值。
- 返回:
Tensor,基础Bijector的输入随机变量的值。
- forward_log_jacobian(x)[源代码]
计算基础Bijector的逆映射导数的对数值,即 \(\log dg^{-1}(x) / dx\) 。
- 参数:
x (Tensor) - 基础Bijector的输出随机变量的值。
- 返回:
Tensor,基类逆映射导数的对数值。