ray.rllib.algorithms.algorithm_config.AlgorithmConfig.容错性#
- AlgorithmConfig.fault_tolerance(ignore_env_runner_failures: bool | None = <ray.rllib.utils.from_config._NotProvided object>, recreate_failed_env_runners: bool | None = <ray.rllib.utils.from_config._NotProvided object>, max_num_env_runner_restarts: int | None = <ray.rllib.utils.from_config._NotProvided object>, delay_between_env_runner_restarts_s: float | None = <ray.rllib.utils.from_config._NotProvided object>, restart_failed_sub_environments: bool | None = <ray.rllib.utils.from_config._NotProvided object>, num_consecutive_env_runner_failures_tolerance: int | None = <ray.rllib.utils.from_config._NotProvided object>, env_runner_health_probe_timeout_s: float | None = <ray.rllib.utils.from_config._NotProvided object>, env_runner_restore_timeout_s: float | None = <ray.rllib.utils.from_config._NotProvided object>, ignore_worker_failures=-1, recreate_failed_workers=-1, max_num_worker_restarts=-1, delay_between_worker_restarts_s=-1, num_consecutive_worker_failures_tolerance=-1, worker_health_probe_timeout_s=-1, worker_restore_timeout_s=-1)[源代码]#
设置配置的容错设置。
- 参数:
ignore_env_runner_failures – 是否忽略任何 EnvRunner 失败并继续运行剩余的 EnvRunners。如果
recreate_failed_env_runners=True
,此设置将被忽略。recreate_failed_env_runners – 无论在 EnvRunner 失败时,RLlib 是否会尝试重新创建失败的 EnvRunner 作为其完全相同的副本。新的 EnvRunner 仅在与失败的 EnvRunner 的
self.recreated_worker=True
属性值上有所不同。它将具有与原始 EnvRunner 相同的worker_index
。如果为 True,则ignore_env_runner_failures
设置将被忽略。max_num_env_runner_restarts – 任何 EnvRunner 允许重新启动的最大次数(如果
recreate_failed_env_runners
为 True)。delay_between_env_runner_restarts_s – 两次连续 EnvRunner 重启之间的延迟(以秒为单位)(如果
recreate_failed_env_runners
为 True)。restart_failed_sub_environments – 如果为真,并且在向量化环境中的任何子环境在环境步进过程中抛出任何错误,采样器将尝试重新启动有问题的子环境。这样做不会干扰其他(仍然完好的)子环境,也不会导致EnvRunner崩溃。
num_consecutive_env_runner_failures_tolerance – 在最终导致算法崩溃之前,可以容忍EnvRunner失败(包括评估)的连续次数。仅在
ignore_env_runner_failures
或recreate_failed_env_runners
为 True 时有用。请注意,对于restart_failed_sub_environments
和子环境失败,EnvRunner本身不受影响,也不会抛出任何错误,因为有问题的子环境会在后台静默重启。env_runner_health_probe_timeout_s – 最大等待时间(秒),我们应该等待 EnvRunner 健康探测调用(
EnvRunner.ping.remote()
)的响应。健康探测非常廉价,然而,我们通过阻塞的ray.get()
进行健康检查,因此默认值不应太大。env_runner_restore_timeout_s – 恢复的 EnvRunner 角色上恢复状态的最大等待时间。默认是 30 分钟。
- 返回:
这个更新的 AlgorithmConfig 对象。