class_docstr: Implementation of the ES distribution by running the rollouts synchronously in the same process.
class_docstr_tok: ["Implementation","of","the","ES","distribution","by","running","the","rollouts","synchronously","in","the","same","process","."]
code: def __init__(
      self,
      env: StructuredEnv,
      n_eval_rollouts: int,
      shared_noise: SharedNoiseTable,
      agent_instance_seed: int,
  ):
      env = TimeLimitWrapper.wrap(env)
      env = LogStatsWrapper.wrap(env)
      self.env = ESRolloutWorkerWrapper.wrap(
          env=env,
          shared_noise=shared_noise,
          agent_instance_seed=agent_instance_seed,
      )
  
      self.n_eval_rollouts = n_eval_rollouts
  
file_path: maze/maze/train/trainers/es/distributed/es_dummy_distributed_rollouts.py
imports: from typing import Generator, Optional, Union
  from maze.core.agent.policy import Policy
  from maze.core.agent.torch_model import TorchModel
  from maze.core.annotations import override
  from maze.core.env.structured_env import StructuredEnv
  from maze.core.wrappers.log_stats_wrapper import LogStatsWrapper
  from maze.core.wrappers.observation_normalization.normalization_strategies.base import StructuredStatisticsType
  from maze.core.wrappers.time_limit_wrapper import TimeLimitWrapper
  from maze.train.trainers.es.distributed.es_distributed_rollouts import ESDistributedRollouts, ESRolloutResult
  from maze.train.trainers.es.distributed.es_rollout_wrapper import ESRolloutWorkerWrapper
  from maze.train.trainers.es.es_shared_noise_table import SharedNoiseTable
label_desc: Use image node_id 1 to create a new ESDummyDistributedRollouts object from inherited base classes: ESDistributedRollouts with example: obj = ESDummyDistributedRollouts(env, n_eval_rollouts, shared_noise, agent_instance_seed)