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_failuresrecreate_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 对象。