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