ray.rllib.core.learner.learner.Learner.注册优化器#

Learner.register_optimizer(*, module_id: str = '__all_modules__', optimizer_name: str = 'default_optimizer', optimizer: torch.optim.Optimizer | tf.keras.optimizers.Optimizer, params: Sequence[torch.Tensor | tf.Variable], lr_or_lr_schedule: float | List[List[int | float]] | None = None) None[源代码]#

使用 ModuleID、名称、参数列表和学习率调度器注册一个优化器。

在你的自定义实现中使用此方法,无论是 self.configure_optimizers() 还是 `self.configure_optimzers_for_module()`(你应该只覆盖其中一个!)。如果你注册了一个学习率调度器设置与优化器一起,RLlib 将自动在整个训练过程中保持该优化器的学习率更新。或者,你可以直接使用学习率构建你的优化器,并自行管理学习率调度或更新。

参数:
  • module_id – 要注册优化器的 module_id 。如果未提供,将假设为 ALL_MODULES。

  • optimizer_name – 优化器的名称(str)。如果未提供,将假设为 DEFAULT_OPTIMIZER。

  • optimizer – 要注册的已实例化的优化器对象。

  • params – 参数列表(特定于框架的变量)将被训练/更新

  • lr_or_lr_schedule – 一个可选的固定学习率或学习率调度设置。如果提供,RLlib 将自动保持优化器的学习率更新。