捷徑

reward2go

class torchrl.objectives.value.functional.reward2go(reward, done, gamma, *, time_dim: int = - 2)[原始碼]

計算給定多個軌跡和 episode 結束的折扣累積獎勵總和。

參數:
  • reward (torch.Tensor) – 一個張量,包含在多個軌跡中每個時間步收到的獎勵。

  • done (Tensor) – episode 結束的布林旗標。與 truncated 不同,truncated 指 episode 並未結束但被中斷。

  • gamma (float, optional) – 用於計算折扣累積獎勵總和的折扣因子。預設為 1.0。

  • time_dim (int) – 時間展開的維度。預設為 -2。

回傳:

一個形狀為 [B, T] 的張量,包含在每個時間步的折扣累積

獎勵總和 (reward-to-go)。

回傳類型:

torch.Tensor

範例

>>> 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]])

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學

取得初學者與進階開發者的深入教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源