vec_td1_return_estimate¶
- class torchrl.objectives.value.functional.vec_td1_return_estimate(gamma, next_state_value, reward, done: torch.Tensor, terminated: torch.Tensor | None = None, rolling_gamma: Optional[bool] = None, time_dim: int = - 2)[來源]¶
向量化 TD(1) 回報估計。
- 引數:
gamma (標量, 張量) – 指數平均折扣。如果是張量值,
next_state_value (張量) – 使用 new_state 輸入的值函式結果。
reward (張量) – 在環境中執行動作獲得的獎勵。
done (張量) – 表示軌跡結束的布林標誌。
terminated (張量) – 表示 episode 結束的布林標誌。如果未提供,預設為
done。rolling_gamma (布林值, 可選) –
如果為
True,則假設 gamma 張量的每個 gamma 值都與單個事件相關聯>>> 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 值都與即將到來的軌跡相關聯>>> 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 (整型) – 時間維度展開的維度。預設為
-2。
所有張量(values、reward 和 done)必須具有形狀
[*Batch x TimeSteps x *F],其中*F為特徵維度。