RewardScaling¶
- class torchrl.envs.transforms.RewardScaling(loc: Union[float, torch.Tensor], scale: Union[float, torch.Tensor], in_keys: Sequence[NestedKey] | None = None, out_keys: Sequence[NestedKey] | None = None, standard_normal: bool = False)[源代码]¶
奖励的仿射变换。
奖励根据以下公式进行变换:
\[reward = reward * scale + loc\]- 参数:
loc (数字 或 torch.Tensor) – 仿射变换的位置参数
scale (数字 或 torch.Tensor) – 仿射变换的缩放参数
standard_normal (布尔值, 可选) –
如果为
True
,变换将是\[reward = (reward-loc)/scale\]如同标准化操作一样。默认为 False。
- transform_reward_spec(reward_spec: TensorSpec) TensorSpec [源代码]¶
变换奖励的 Spec (规范),使其结果 Spec 与变换映射相匹配。
- 参数:
reward_spec (TensorSpec) – 变换前的 Spec (规范)
- 返回:
变换后的预期 Spec (规范)