RewardScaling¶
- class torchrl.envs.transforms.RewardScaling(loc: float | torch.Tensor, scale: 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 (bool, optional) –
如果设置为
True
,则变换为:\[reward = (reward-loc)/scale\]这用于标准化。默认为 False。
- transform_reward_spec(reward_spec: TensorSpec) TensorSpec [源代码]¶
转换奖励的 spec,使其与变换映射匹配。
- 参数:
reward_spec (TensorSpec) – 变换前的 spec
- 返回:
转换后的预期规范