快捷方式

reward2go

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

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

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

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

  • gamma (float, optional) – 用于计算奖励折扣累积总和的折扣因子。默认为 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 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

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

查看资源