ray.rllib.env.env_runner_group.EnvRunnerGroup#

class ray.rllib.env.env_runner_group.EnvRunnerGroup(*, env_creator: Callable[[EnvContext], Any | gymnasium.Env | None] | None = None, validate_env: Callable[[Any | gymnasium.Env], None] | None = None, default_policy_class: Type[Policy] | None = None, config: AlgorithmConfig | None = None, num_env_runners: int = 0, local_env_runner: bool = True, logdir: str | None = None, _setup: bool = True, tune_trial_id: str | None = None, num_workers=-1, local_worker=-1)[源代码]#

基类:object

一组带有 n 个 @ray.remote 工作线程和零个或一个本地工作线程的 EnvRunners。

其中:n >= 0。

开发者API: 此API可能会在Ray的次要版本之间发生变化。

方法

__init__

初始化一个 EnvRunnerGroup 实例。

add_policy

将策略添加到此 EnvRunnerGroup 的工人或特定工人列表中。

add_workers

创建并添加多个远程工作者到此工作者集合中。

fetch_ready_async_reqs

获取已经准备好的优秀异步请求的结果。

foreach_env

调用 func 并将所有工作者的子环境作为参数传递。

foreach_env_with_context

调用 func ,参数为所有工作者的子环境和 env_ctx。

foreach_policy

使用每个工作者的 (policy, PolicyID) 元组调用 func

foreach_policy_to_train

如果 policies_to_train 中包含所有工作者的策略,则对 func 应用到这些策略上。

foreach_worker

使用每个 EnvRunner 作为其参数调用给定的函数。

foreach_worker_async

使用每个工作线程作为参数异步调用给定的函数。

foreach_worker_with_id

使用每个 EnvRunner 及其 ID 作为参数调用给定的函数。

get_spaces

从一个(本地或远程)EnvRunner推断观察和动作空间。

healthy_worker_ids

返回远程工作者的ID列表。

is_policy_to_train

给定的 PolicyID(可选地在某些批次内)是否可训练。

num_healthy_remote_workers

返回健康远程工作者的数量。

num_healthy_workers

返回所有健康工作者的数量,包括本地工作者。

num_in_flight_async_reqs

返回正在进行的异步请求的数量。

num_remote_env_runners

返回远程 EnvRunner 的数量。

num_remote_worker_restarts

管理的远程工作者重启的总次数。

num_remote_workers

返回远程 EnvRunner 的数量。

probe_unhealthy_workers

检查不健康的工人并尝试恢复它们的状态。

reset

Hard 用提供的 EnvRunners 覆盖此集合中的远程 EnvRunners。

stop

在所有回放工作者(包括本地的)上调用 stop

sync_env_runner_states

同步此 EnvRunnerGroup 的 EnvRunners 的连接器。

sync_weights

将模型权重从给定的权重源同步到所有远程工作节点。

属性

local_env_runner

返回本地的 EnvRunner。