td1_return_estimate¶
- class torchrl.objectives.value.functional.td1_return_estimate(gamma: float, next_state_value: Tensor, reward: Tensor, done: Tensor, terminated: torch.Tensor | None = None, rolling_gamma: bool = None, *, time_dim: int = - 2)[source]¶
TD(1) 返回估计。
- 参数:
gamma (标量) – 指数平均折扣。
next_state_value (Tensor) – 使用 new_state 输入的值函数结果。
reward (Tensor) – 在环境中采取行动的奖励。
done (Tensor) – 轨迹结束的布尔标志。
terminated (Tensor) – 剧集结束的布尔标志。如果未提供,则默认为
done
。rolling_gamma (bool, 可选) –
如果
True
,则假定每个伽马(如果伽马张量绑定到单个事件)gamma = [g1, g2, g3, g4] value = [v1, v2, v3, v4] return = [
v1 + g1 v2 + g1 g2 v3 + g1 g2 g3 v4, v2 + g2 v3 + g2 g3 v4, v3 + g3 v4, v4,
]
如果 False,则假定每个伽马都绑定到即将到来的轨迹
gamma = [g1, g2, g3, g4] value = [v1, v2, v3, v4] return = [
v1 + g1 v2 + g1**2 v3 + g**3 v4, v2 + g2 v3 + g2**2 v4, v3 + g3 v4, v4,
]
默认为 True。
time_dim (int) – 时间展开的维度。默认为 -2。
所有张量(values、reward 和 done)都必须具有形状
[*Batch x TimeSteps x *F]
,其中*F
是特征维度。