快捷方式

AdditiveGaussianModule

class torchrl.modules.AdditiveGaussianModule(*args, **kwargs)[source]

加性高斯 PO 模块。

参数:
  • spec (TensorSpec) – 用于采样动作的规格。采样到的动作在探索后将被投影到有效动作空间。

  • sigma_init (scalar, optional) – 初始 sigma 值。默认值: 1.0

  • sigma_end (scalar, optional) – 最终 sigma 值。默认值: 0.1

  • annealing_num_steps (int, optional) – sigma 达到 sigma_end 值所需的步数。默认值: 1000

  • mean (float, optional) – 每个输出元素正态分布的均值。默认值: 0.0

  • std (float, optional) – 每个输出元素正态分布的标准差。默认值: 1.0

关键字参数:
  • action_key (NestedKey, optional) – 如果策略模块有多个输出键,其输出规格将是复合类型 (Composite)。需要知道在哪里找到动作规格 (action spec)。默认值: “action”

  • safe (bool) – 如果为 True,超出动作规格范围的动作将根据 TensorSpec.project 启发式算法投影到空间中。默认值: False

  • device (torch.device, optional) – 存储缓冲区的设备。

注意

在训练循环中包含对 step() 的调用来更新探索因子 (exploration factor) 至关重要。由于很难捕捉到这种遗漏,如果省略此调用,将不会引发警告或异常!

forward(tensordict: TensorDictBase) TensorDictBase[source]

定义每次调用时执行的计算。

应由所有子类覆盖此方法。

注意

虽然前向传播 (forward pass) 的逻辑需要在本函数中定义,但之后应调用 Module 实例而不是本函数本身,因为前者负责运行已注册的钩子 (hooks),而后者会默默忽略它们。

step(frames: int = 1) None[source]

sigma 衰减的一步。

在对本方法调用 self.annealing_num_steps 次后,后续调用将无效 (no-op)。

参数:

frames (int) – 自上一步以来的帧数。默认为 1

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源