快捷方式

BatchRenorm1d

class torchrl.modules.BatchRenorm1d(num_features: int, *, momentum: float = 0.01, eps: float = 1e-05, max_r: float = 3.0, max_d: float = 5.0, warmup_steps: int = 10000, smooth: bool = False)[源码]

BatchRenorm 模块 (https://arxiv.org/abs/1702.03275)。

代码改编自 https://github.com/google-research/corenet

BatchRenorm 是标准 BatchNorm 的增强版本。与 BatchNorm 不同,它在初始预热阶段后利用运行统计数据来规范化批次。这种方法减少了在长时间训练期间可能出现的“异常值”批次的影响,使得 BatchRenorm 对于长时间训练更加鲁棒。

在预热阶段,BatchRenorm 的功能与 BatchNorm 层相同。

参数:

num_features (int) – 输入张量的特征数量。

关键字参数:
  • momentum (float, optional) – 用于计算运行均值和方差的动量因子。默认为 0.01

  • eps (float, optional) – 添加到方差中的小值,以避免除以零。默认为 1e-5

  • max_r (float, optional) – 缩放因子 r 的最大值。默认为 3.0

  • max_d (float, optional) – 偏置因子 d 的最大值。默认为 5.0

  • warmup_steps (int, optional) – 运行均值和方差的预热步数。默认为 10000

  • smooth (bool, optional) – 如果为 True,则行为从常规 batch-norm(当 iter=0 时)平滑地过渡到 batch-renorm(当 iter=warmup_steps 时)。否则,当 iter=warmup_steps 时,行为将从 batch-norm 过渡到 batch-renorm。默认为 False

forward(x: Tensor) Tensor[源码]

定义每次调用时执行的计算。

所有子类都应重写此方法。

注意

尽管前向传播的实现需要在此函数中定义,但您应该在之后调用 Module 实例而不是此函数,因为前者会处理注册的钩子,而后者则会静默忽略它们。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源