快捷方式

RewardNormalizer

class torchrl.trainers.RewardNormalizer(decay: float = 0.999, scale: float = 1.0, eps: Optional[float] = None, log_pbar: bool = False, reward_key=None)[源代码]

奖励归一化钩子。

参数:
  • decay (float, 可选) – 指数移动平均衰减参数。默认为 0.999

  • scale (float, 可选) – 归一化后用于乘以奖励的比例。默认为 1.0。

  • eps (float, 可选) – 用于防止数值下溢的 epsilon 抖动。默认为 torch.finfo(DEFAULT_DTYPE).eps,其中 DEFAULT_DTYPE=torch.get_default_dtype()

  • reward_key (strtuple, 可选) – 在输入批次中查找奖励的键。默认为 ("next", "reward")

示例

>>> reward_normalizer = RewardNormalizer()
>>> trainer.register_op("batch_process", reward_normalizer.update_reward_stats)
>>> trainer.register_op("process_optim_batch", reward_normalizer.normalize_reward)
register(trainer: Trainer, name: str = 'reward_normalizer')[源代码]

在训练器中的默认位置注册钩子。

参数:
  • trainer (Trainer) – 必须注册钩子的训练器。

  • name (str) – 钩子的名称。

注意

要在默认位置以外的其他位置注册钩子,请使用 register_op()

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

查找开发资源并获得解答

查看资源