快捷方式

td1_advantage_estimate

class torchrl.objectives.value.functional.td1_advantage_estimate(gamma: float, state_value: torch.Tensor, next_state_value: torch.Tensor, reward: torch.Tensor, done: torch.Tensor, terminated: torch.Tensor | None = None, rolling_gamma: bool = None, time_dim: int = - 2)[源]

TD(1) 优势估计。

参数:
  • gamma (标量) – 指数平均折扣。

  • state_value (Tensor) – 输入旧状态 (old_state) 的值函数结果。

  • next_state_value (Tensor) – 输入新状态 (new_state) 的值函数结果。

  • reward (Tensor) – 在环境中采取行动的奖励。

  • done (Tensor) – 表示轨迹结束的布尔标志。

  • terminated (Tensor) – 表示幕 (episode) 结束的布尔标志。如果未提供,默认为 done

  • rolling_gamma (bool, 可选) –

    如果为 True,则假定 gamma 张量中的每个 gamma 都与一个单一事件关联。

    >>> gamma = [g1, g2, g3, g4]
    >>> value = [v1, v2, v3, v4]
    >>> return = [
    ...   v1 + g1 v2 + g1 g2 v3 + g1 g2 g3 v4,
    ...   v2 + g2 v3 + g2 g3 v4,
    ...   v3 + g3 v4,
    ...   v4,
    ... ]
    

    如果为 False,则假定每个 gamma 都与即将到来的轨迹关联。

    >>> gamma = [g1, g2, g3, g4]
    >>> value = [v1, v2, v3, v4]
    >>> return = [
    ...   v1 + g1 v2 + g1**2 v3 + g**3 v4,
    ...   v2 + g2 v3 + g2**2 v4,
    ...   v3 + g3 v4,
    ...   v4,
    ... ]
    

    默认为 True

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

所有张量(值、奖励和完成标志)必须具有形状 [*Batch x TimeSteps x *F],其中 *F 是特征维度。

文档

查看 PyTorch 的完整开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源