快捷方式

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

返回值型別

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 的綜合開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並解答疑問

檢視資源