reward2go¶
- class torchrl.objectives.value.functional.reward2go(reward, done, gamma, *, time_dim: int = - 2)[原始碼]¶
根據多個軌跡和劇集結束情況,計算獎勵的折扣累積和。
- 引數:
reward (torch.Tensor) – 一個張量,包含多個軌跡在每個時間步收到的獎勵。
done (Tensor) – 表示劇集結束的布林標誌。與截斷(劇集未結束但中斷)不同。
gamma (
float, optional) – 用於計算獎勵折扣累積和的折扣因子。預設為 1.0。time_dim (int) – 時間維度展開所在的維度。預設為 -2。
- 返回值:
- 一個形狀為 [B, T] 的張量,包含折扣累積
每個時間步的獎勵總和 (reward-to-go)。
- 返回值型別:
示例
>>> reward = torch.ones(1, 10) >>> done = torch.zeros(1, 10, dtype=torch.bool) >>> done[:, [3, 7]] = True >>> reward2go(reward, done, 0.99, time_dim=-1) tensor([[3.9404], [2.9701], [1.9900], [1.0000], [3.9404], [2.9701], [1.9900], [1.0000], [1.9900], [1.0000]])