Subprocess Vectorization

Single-Agent

class xuance.environment.vector_envs.subprocess.subproc_vec_env.SubprocVecEnv(env_fns, env_seed, in_series=1)[源代码]

基类:VecEnv

VecEnv that runs multiple environments in parallel in subproceses and communicates with them via pipes. Recommended to use when num_envs > 1 and step() can be a bottleneck.

close_extras()[源代码]

Clean up the extra resources, beyond what’s in this base class. Only runs when not self.closed.

render(mode)[源代码]
reset()[源代码]

Reset all the environments and return an array of observations, or a dict of observation arrays. If step_async is still doing work, that work will be cancelled and step_wait() should not be called until step_async() is invoked again.

step_async(actions)[源代码]

Tell all the environments to start taking a step with the given actions. Call step_wait() to get the results of the step. You should not call this if a step_async run is already pending.

step_wait()[源代码]

Wait for the step taken with step_async(). Returns (obs, rews, dones, infos):

  • obs: an array of observations, or a dict of

    arrays of observations.

  • rews: an array of rewards

  • dones: an array of “episode done” booleans

  • infos: a sequence of info objects

class xuance.environment.vector_envs.subprocess.subproc_vec_env.SubprocVecEnv_Atari(env_fns, env_seed)[源代码]

基类:SubprocVecEnv

xuance.environment.vector_envs.subprocess.subproc_vec_env.worker(remote, parent_remote, env_fn_wrappers, env_seed: int | None = None)[源代码]

Multi-Agent

class xuance.environment.vector_envs.subprocess.subproc_vec_maenv.SubprocVecEnv_Football(env_fns, env_seed, context='spawn', in_series=1)[源代码]

基类:SubprocVecMultiAgentEnv

step_wait()[源代码]

Wait for the step taken with step_async(). Returns (obs, rews, dones, infos):

  • obs: an array of observations, or a dict of

    arrays of observations.

  • rews: an array of rewards

  • dones: an array of “episode done” booleans

  • infos: a sequence of info objects

class xuance.environment.vector_envs.subprocess.subproc_vec_maenv.SubprocVecEnv_StarCraft2(env_fns, env_seed, context='spawn', in_series=1)[源代码]

基类:SubprocVecMultiAgentEnv

step_wait()[源代码]

Wait for the step taken with step_async(). Returns (obs, rews, dones, infos):

  • obs: an array of observations, or a dict of

    arrays of observations.

  • rews: an array of rewards

  • dones: an array of “episode done” booleans

  • infos: a sequence of info objects

class xuance.environment.vector_envs.subprocess.subproc_vec_maenv.SubprocVecMultiAgentEnv(env_fns, env_seed, context='spawn', in_series=1)[源代码]

基类:VecEnv

VecEnv that runs multiple environments in parallel in subproceses and communicates with them via pipes. Recommended to use when num_envs > 1 and step() can be a bottleneck.

close_extras()[源代码]

Clean up the extra resources, beyond what’s in this base class. Only runs when not self.closed.

render(mode)[源代码]
reset()[源代码]

Reset all the environments and return an array of observations, or a dict of observation arrays. If step_async is still doing work, that work will be cancelled and step_wait() should not be called until step_async() is invoked again.

step_async(actions)[源代码]

Tell all the environments to start taking a step with the given actions. Call step_wait() to get the results of the step. You should not call this if a step_async run is already pending.

step_wait()[源代码]

Wait for the step taken with step_async(). Returns (obs, rews, dones, infos):

  • obs: an array of observations, or a dict of

    arrays of observations.

  • rews: an array of rewards

  • dones: an array of “episode done” booleans

  • infos: a sequence of info objects

xuance.environment.vector_envs.subprocess.subproc_vec_maenv.worker(remote, parent_remote, env_fn_wrappers, env_seed: int | None = None)[源代码]