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()
获取实现类的新状态。
- 返回:
状态已保存的路径(字符串)。