RewardNormalizer¶
- class torchrl.trainers.RewardNormalizer(decay: float = 0.999, scale: float = 1.0, eps: Optional[float] = None, log_pbar: bool = False, reward_key=None)[原始碼]¶
獎勵正規化 hook。
- 參數:
decay (float, optional) – 指數移動平均衰減參數。預設值為 0.999
scale (float, optional) – 用於在正規化後乘以獎勵的比例。預設值為 1.0。
eps (float, optional) – 用於防止數值下溢的 epsilon 抖動。預設值為
torch.finfo(DEFAULT_DTYPE).eps
,其中DEFAULT_DTYPE=torch.get_default_dtype()
。reward_key (str 或 tuple, optional) – 在輸入批次中尋找獎勵的索引鍵。預設值為
("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)