mindspore.nn.probability.bijector.Bijector =========================================== .. py:class:: mindspore.nn.probability.bijector.Bijector(is_constant_jacobian=False, is_injective=True, name=None, dtype=None, param=None) Bijector类。Bijector描述了一种随机变量的映射方法。可以通过一个已有的随机变量 :math:`X` 和一个映射函数 :math:`g(x)` 生成一个新的随机变量 :math:`Y = g(X)` 。 参数: - **is_constant_jacobian** (bool) - Bijector是否具有常数导数。默认值:False。 - **is_injective** (bool) - Bijector是否为一对一映射。默认值:True。 - **name** (str) - Bijector名称。默认值:None。 - **dtype** (mindspore.dtype) - Bijector可以操作的分布的数据类型。默认值:None。 - **param** (dict) - 用于初始化Bijector的参数。默认值:None。 .. note:: Bijector的 `dtype` 为None时,输入值必须是float类型,除此之外没有其他强制要求。 在初始化过程中,当 `dtype` 为None时,对参数的数据类型没有强制要求。 但所有参数都应具有相同的float类型,否则将引发TypeError。 具体来说,参数类型跟随输入值的数据类型。即当 `dtype` 为None时,Bijector的参数将被强制转换为与输入值相同的类型。 当指定了 `dtype` 时,参数和输入值的 `dtype` 必须相同。 当参数类型或输入值类型与 `dtype` 不相同时,将引发TypeError。只能使用mindspore.float_type数据类型来指定Bijector的 `dtype` 。 .. py:method:: cast_param_by_value(value, para) 将输入中的 `para` 的数据类型转换为与 `value` 相同的类型,一般由Bijector的子类用于基于输入对自身参数进行数据类型变化。 参数: - **value** (Tensor) - 输入数据。 - **para** (Tensor) - Bijector参数。 返回: Tensor,参数经过数据类型转换之后的值。 .. py:method:: construct(name, *args, **kwargs) 重写Cell中的 `construct` 。 .. note:: 支持的函数名称包括:'forward'、'inverse'、'forward_log_jacobian'、'inverse_log_jacobian'。 参数: - **name** (str) - 函数名称。 - **args** (list) - 函数所需的位置参数列表。 - **kwargs** (dict) - 函数所需的关键字参数字典。 返回: Tensor,name对应函数的值。 .. py:method:: forward(value, *args, **kwargs) 正映射,计算输入随机变量经过映射后的值。 参数: - **value** (Tensor) - 输入随机变量的值。 - **args** (list) - 函数所需的位置参数列表。 - **kwargs** (dict) - 函数所需的关键字参数字典。 返回: Tensor,输出随机变量的值。 .. py:method:: forward_log_jacobian(value, *args, **kwargs) 计算正映射导数的对数值。 参数: - **value** (Tensor) - 输入随机变量的值。 - **args** (list) - 函数所需的位置参数列表。 - **kwargs** (dict) - 函数所需的关键字参数字典。 返回: Tensor,正映射导数的对数值。 .. py:method:: inverse(value, *args, **kwargs) 逆映射,计算输出随机变量对应的输入随机变量的值。 参数: - **value** (Tensor) - 输出随机变量的值。 - **args** (list) - 函数所需的位置参数列表。 - **kwargs** (dict) - 函数所需的关键字参数字典。 返回: Tensor,输入随机变量的值。 .. py:method:: inverse_log_jacobian(value, *args, **kwargs) 计算逆映射导数的对数值。 参数: - **value** (Tensor) - 输出随机变量的值。 - **args** (list) - 函数所需的位置参数列表。 - **kwargs** (dict) - 函数所需的关键字参数字典。 返回: Tensor,逆映射导数的对数值。