code: def test_ppo_multi_step():
      """ppo unit tests"""
      ppo = train_function(
          n_epochs=2, distributed_env_cls=SequentialVectorEnv
      )
      assert isinstance(ppo, PPO)
  
      ppo = train_function(
          n_epochs=2, distributed_env_cls=SequentialVectorEnv
      )
      assert isinstance(ppo, PPO)
  
file_path: maze/maze/test/train/ppo/test_ppo_multi_step.py
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.rollout.rollout_generator import RolloutGenerator
  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.vector_env.sequential_vector_env import SequentialVectorEnv
  from maze.train.parallelization.vector_env.subproc_vector_env import SubprocVectorEnv
  from maze.train.trainers.common.evaluators.rollout_evaluator import RolloutEvaluator
  from maze.train.trainers.ppo.ppo_algorithm_config import PPOAlgorithmConfig
  from maze.train.trainers.ppo.ppo_trainer import PPO
label_desc: Use image node_id 2 for calling a global function with example usage: test_ppo_multi_step() without return types