快捷方式

reward2go

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

计算给定多个轨迹和剧集结束时的奖励的折扣累积和。

参数:
  • reward (torch.Tensor) – 包含在多个轨迹上每个时间步长获得的奖励的张量。

  • done (张量) – 剧集结束的布尔标志。与截断不同,截断是指剧集未结束但被中断。

  • gamma (float, 可选) – 用于计算奖励的折扣累积和的折扣因子。默认为 1.0。

  • time_dim (int) – 时间展开的维度。默认为 -2。

返回值:

形状为 [B, T] 的张量,包含每个时间步长的奖励的折扣累积

和(奖励到期)。

返回类型:

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 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源