class_docstr: Internal wrapper to translate any gym.Envs into a VectorEnv object.
class_docstr_tok: ["Internal","wrapper","to","translate","any","gym.Envs","into","a","VectorEnv","object","."]
code: def vector_reset(
      self,
      *,
      seeds: Optional[List[int]] = None,
      options: Optional[List[dict]] = None,
  ) -> Tuple[List[EnvObsType], List[EnvInfoDict]]:
      seeds = seeds or [None] * self.num_envs
      options = options or [None] * self.num_envs
      # Use reset_at(index) to restart and retry until
      # we successfully create a new env.
      resetted_obs = []
      resetted_infos = []
      for i in range(len(self.envs)):
          while True:
              obs, infos = self.reset_at(
                  i, seed=seeds[i], options=options[i]
              )
              if not isinstance(obs, Exception):
                  break
          resetted_obs.append(obs)
          resetted_infos.append(infos)
      return resetted_obs, resetted_infos
  
imports: import logging
  import gymnasium
  import numpy
  from typing import Callable, List, Optional, Tuple, Union, Set
  from ray.rllib.env.base_env import BaseEnv, _DUMMY_AGENT_ID
  from ray.rllib.utils.annotations import Deprecated, override, PublicAPI
  from ray.rllib.utils.typing import EnvActionType, EnvID, EnvInfoDict, EnvObsType, EnvType, MultiEnvDict, AgentID
  from ray.util import log_once
label_desc: Use image node_id 2 for calling the _VectorizedGymEnv obj's underlying member method code with example usage: obj.vector_reset() and returns: resetted_obs,  resetted_infos