code: def test_impala_multi_step_distributed():
      algorithm_config = _algorithm_config()
      train_actors = SubprocDistributedActors(
          _env_factory,
          _policy(_env_factory()).policy,
          n_rollout_steps=algorithm_config.n_rollout_steps,
          n_actors=algorithm_config.num_actors,
          batch_size=algorithm_config.actors_batch_size,
          queue_out_of_sync_factor=algorithm_config.queue_out_of_sync_factor,
          start_method="forkserver",
          actor_agent_seeds=[
              4321 for _ in range(algorithm_config.num_actors)
          ],
          actor_env_seeds=[
              1234 for _ in range(algorithm_config.num_actors)
          ],
      )
      with Timeout(seconds=30):
          impala = _train_function(train_actors, algorithm_config)
      assert isinstance(impala, IMPALA)
  
imports: import torch.nn
  from maze.core.agent.torch_actor_critic import TorchActorCritic
  from maze.core.agent.torch_policy import TorchPolicy
  from maze.core.agent.torch_state_critic import TorchSharedStateCritic
  from maze.core.wrappers.maze_gym_env_wrapper import GymMazeEnv
  from maze.distributions.distribution_mapper import DistributionMapper
  from maze.perception.models.built_in.flatten_concat import FlattenConcatPolicyNet, FlattenConcatStateValueNet
  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.trainers.common.evaluators.rollout_evaluator import RolloutEvaluator
  from maze.train.trainers.impala.impala_algorithm_config import ImpalaAlgorithmConfig
  from maze.train.trainers.impala.impala_trainer import IMPALA
  from maze.utils.timeout import Timeout
label_desc: Use image node_id 6 for calling a global function with example usage: test_impala_multi_step_distributed() without return types