快捷方式

TruncatedNormal

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

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

位置缩放可防止位置“离 0”太远,这最终会导致不稳定的样本和不良的梯度计算(例如梯度爆炸)。在实践中,位置根据以下公式计算:

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

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

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

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

  • upscaletorch.Tensor数字, 可选) –

    公式中的“a”缩放因子

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

    默认为 5.0

  • lowtorch.Tensor数字, 可选) – 分布的最小值。默认为 -1.0;

  • hightorch.Tensor数字, 可选) – 分布的最大值。默认为 1.0;

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

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

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

参数:

valueTensor) –

property mode

返回分布的众数。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源