ray.rllib.core.learner.learner_group.LearnerGroup.foreach_learner#

LearnerGroup.foreach_learner(func: Callable[[Learner, Any | None], T], *, healthy_only: bool = True, remote_actor_ids: List[int] = None, timeout_seconds: float | None = None, return_obj_refs: bool = False, mark_healthy: bool = True, **kwargs) RemoteCallResults[源代码]#

对每个学习者 L 调用给定的函数,参数为:(L, **kwargs)。

参数:
  • func – 在每个学习者L上调用的函数,参数为:(L, **kwargs)。

  • healthy_only – 如果为 True,则仅将 func 应用于当前标记为“healthy”的学习者角色,否则应用于所有角色。如果 healthy_only=Falsemark_healthy=True,则会将 func 发送给所有角色,并在 timeout_seconds 内响应请求且当前标记为“unhealthy”的角色将被标记为“healthy”。

  • remote_actor_ids – 对选定的一组远程执行者应用函数。使用 None(默认)表示所有执行者。

  • timeout_seconds – 等待结果的时间(以秒为单位)。将其设置为 0.0 表示立即返回(即 fire-and-forget)。将其设置为 None(默认)表示无限等待(即同步执行)。

  • return_obj_refs – 是否返回 ObjectRef 而不是实际结果。注意,出于容错原因,这些返回的 ObjectRef 永远不应在此管理器的上下文之外使用 ray.get() 进行解析。

  • mark_healthy – 是否将所有当前标记为不健康的演员再次标记为健康,这些演员在给定的 timeout_seconds 内从远程调用返回了结果。请注意,如果演员只是超时(仅当他们返回 RayActorError 时),则不会将他们标记为不健康。还要注意,如果 `healthy_only=True`(因为此设置仅影响当前标记为不健康的演员),则忽略此设置。

返回:

一个长度为 len(Learners) 的列表,包含所有对 func 的调用返回值。