快捷方式

TanhNormal

class torchrl.modules.TanhNormal(loc: torch.Tensor, scale: torch.Tensor, upscale: Union[torch.Tensor, Number] = 5.0, low: Union[torch.Tensor, Number] = - 1.0, high: Union[torch.Tensor, Number] = 1.0, event_dims: int | None = None, tanh_loc: bool = False, safe_tanh: bool = True)[源代码]

实现具有位置缩放的 TanhNormal 分布。

位置缩放可以防止在应用 TanhTransform 时位置离 0 “太远”,但最终会导致数值不稳定的样本和较差的梯度计算(例如,梯度爆炸)。 实际上,通过位置缩放,位置根据以下公式计算:

\[loc = tanh(loc / upscale) * upscale.\]
参数:
  • loc (torch.Tensor) – 正态分布位置参数

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

  • upscale (torch.Tensornumber) –

    公式中的 ‘a’ 缩放因子

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

  • low (torch.Tensornumber, 可选) – 分布的最小值。 默认为 -1.0;

  • high (torch.Tensornumber, 可选) – 分布的最大值。 默认为 1.0;

  • event_dims (int, 可选) – 描述动作的维度数。 默认为 1。将 event_dims 设置为 0 将导致对数概率与输入具有相同的形状, 1 将减少(对...求和)最后一个维度,2 最后两个等等。

  • tanh_loc (bool, 可选) – 如果 True,则上述公式用于位置缩放,否则保留原始值。 默认为 False

  • safe_tanh (bool, 可选) – 如果 True,则以“安全”的方式完成 Tanh 转换,以避免数值溢出。 这目前会与 torch.compile() 中断。

get_mode()[源代码]

使用 Adam 优化器计算模式的估计值。

property mean

返回分布的平均值。

property mode

返回分布的众数。

property support

返回表示此分布支持的 Constraint 对象。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源