ray.rllib.core.rl_module.multi_rl_module.MultiRLModule.save_to_path#

MultiRLModule.save_to_path(path: str | Path | None = None, *, state: Dict[str, Any] | None = None) str#

将实现类的状态(或 state)保存到 path

实现类的状态总是以以下格式保存:

path/
    [component1]/
        [component1 subcomponentA]/
            ...
        [component1 subcomponentB]/
            ...
    [component2]/
            ...
    [cls.METADATA_FILE_NAME] (json)
    [cls.STATE_FILE_NAME] (pkl)

主要逻辑是遍历此 Checkpointable 的所有子组件,并调用它们各自的 save_to_path 方法。然后将剩余的(非子组件)状态保存到此 Checkpointable 的 STATE_FILE_NAME 中。在异常情况下,如果一个组件是 FaultTolerantActorManager 实例,则不直接在该管理器上调用 save_to_path,而是将第一个健康的 actor 解释为组件,并调用其 save_to_path 方法。即使该 actor 位于另一个节点上,创建的文件也会自动同步到本地节点。

参数:
  • path – 保存实现类状态的目录路径。如果 path 不存在或为 None,则会创建一个新目录(并返回)。

  • state – 一个可选的状态字典,用于替代通过 self.get_state() 获取实现类的新状态。

返回:

状态已保存的路径(字符串)。