快捷方式

reward2go

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

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

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

  • done (Tensor) – 回合结束的布尔标志。与 truncated 不同,truncated 表示回合没有结束但被中断了。

  • 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 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

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

查看资源