RewardNormalizer¶
- 类 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.999scale (
float
, 可选) – 奖励归一化后用于相乘的比例因子。默认为 1.0。eps (
Optional[float], 可选) – 用于防止数值下溢的 epsilon 微扰值。默认为
torch.finfo(DEFAULT_DTYPE).eps
,其中DEFAULT_DTYPE=torch.get_default_dtype()
。reward_key (str 或 tuple, 可选) – 在输入批次中查找奖励的键。默认为
("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)