class_docstr: Runner for locally distributed training, based on SubprocVectorEnv.
docstr: Create dummy (sequentially-executed) actors.
code: def create_distributed_rollout_actors(
      self,
      env_factory: Callable[
          [],
          Union[StructuredEnv, StructuredEnvSpacesMixin, LogStatsEnv],
      ],
      policy: TorchPolicy,
      n_rollout_steps: int,
      n_actors: int,
      batch_size: int,
      queue_out_of_sync_factor: float,
      env_instance_seeds: List[int],
      agent_instance_seeds: List[int],
  ) -> SubprocDistributedActors:
      """Create dummy (sequentially-executed) actors."""
      BColors.print_colored(
          "Determinism by seeding of the IMPALA algorithm with the Local runner can not be "
          "guarantied due to the asynchronicity of the implementation.",
          BColors.WARNING,
      )
      return SubprocDistributedActors(
          env_factory,
          policy,
          n_rollout_steps,
          n_actors,
          batch_size,
          queue_out_of_sync_factor,
          self.start_method,
          env_instance_seeds,
          agent_instance_seeds,
      )
  
imports: import copy
  import dataclasses
  from abc import abstractmethod
  from typing import Union, Callable, List
  from maze.core.agent.torch_actor_critic import TorchActorCritic
  from maze.core.agent.torch_policy import TorchPolicy
  from maze.core.annotations import override
  from maze.core.env.maze_env import MazeEnv
  from maze.core.env.structured_env import StructuredEnv
  from maze.core.env.structured_env_spaces_mixin import StructuredEnvSpacesMixin
  from maze.core.log_stats.log_stats_env import LogStatsEnv
  from maze.core.utils.factory import Factory
  from maze.train.parallelization.distributed_actors.distributed_actors import DistributedActors
  from maze.train.parallelization.distributed_actors.sequential_distributed_actors import SequentialDistributedActors
  from maze.train.parallelization.distributed_actors.subproc_distributed_actors import SubprocDistributedActors
  from maze.train.parallelization.vector_env.sequential_vector_env import SequentialVectorEnv
  from maze.train.parallelization.vector_env.subproc_vector_env import SubprocVectorEnv
  from maze.train.parallelization.vector_env.vector_env import VectorEnv
  from maze.train.trainers.common.evaluators.rollout_evaluator import RolloutEvaluator
  from maze.train.trainers.common.model_selection.best_model_selection import BestModelSelection
  from maze.train.trainers.common.training_runner import TrainingRunner
  from maze.train.trainers.impala.impala_trainer import IMPALA
  from maze.utils.bcolors import BColors
  from omegaconf import DictConfig
  from maze.utils.process import query_cpu
label_desc: Use image node_id 1 for calling the ImpalaLocalRunner obj's underlying member method code with example usage: obj.create_distributed_rollout_actors(env_factory, policy, n_rollout_steps, n_actors, batch_size, queue_out_of_sync_factor, env_instance_seeds, agent_instance_seeds) and returns: SubprocDistributedActors