快捷方式

TruncatedNormal (截断正态分布)

class torchrl.modules.TruncatedNormal(loc: Tensor, scale: Tensor, upscale: Union[Tensor, float] = 5.0, low: Union[Tensor, float] = - 1.0, high: Union[Tensor, float] = 1.0, tanh_loc: bool = False)[源代码]

实现带有位置缩放的截断正态分布。

位置缩放可以防止位置参数“离 0 太远”,这最终会导致数值不稳定的采样和糟糕的梯度计算(例如梯度爆炸)。实际上,位置参数的计算方法如下:

\[loc = tanh(loc / upscale) * upscale.\]

可以通过关闭 tanh_loc 参数来禁用此行为(详见下方)。

参数:
  • loc (torch.Tensor) – 正态分布的位置参数

  • scale (torch.Tensor) – 正态分布的 sigma 参数(方差的平方根)

  • upscale (torch.Tensor数字, 可选的) –

    公式中的 ‘a’ 缩放因子

    \[loc = tanh(loc / upscale) * upscale.\]

    默认值为 5.0

  • low (torch.Tensor数字, 可选的) – 分布的最小值。默认值 = -1.0;

  • high (torch.Tensor数字, 可选的) – 分布的最大值。默认值 = 1.0;

  • tanh_loc (布尔值, 可选的) – 如果 True,则使用上述公式进行位置缩放;否则,保留原始值。默认值为 False

log_prob(value, **kwargs)[源代码]

返回在 value 处评估的概率密度/质量函数的对数。

参数:

value (Tensor) –

property mode

返回分布的众数。

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源