code: def __init__(self, config):
      self.config = config
  
      self.envs = []
      for _ in range(config["env_num"]):
          env = gym.make(config["env_name"])
          env = wrap_deepmind(
              env, dim=config["env_dim"], obs_format="NCHW"
          )
          self.envs.append(env)
      self.vector_env = VectorEnv(self.envs)
  
      self.obs_batch = self.vector_env.reset()
  
      obs_shape = env.observation_space.shape
      act_dim = env.action_space.n
  
      model = AtariModel(act_dim)
      algorithm = parl.algorithms.IMPALA(
          model,
          sample_batch_steps=self.config["sample_batch_steps"],
          gamma=self.config["gamma"],
          vf_loss_coeff=self.config["vf_loss_coeff"],
          clip_rho_threshold=self.config["clip_rho_threshold"],
          clip_pg_rho_threshold=self.config["clip_pg_rho_threshold"],
      )
      self.agent = AtariAgent(algorithm, obs_shape, act_dim)
  
file_path: PARL/benchmark/fluid/IMPALA/actor.py
imports: import gym
  import numpy
  import parl
  import six
  import parl
  from atari_model import AtariModel
  from collections import defaultdict
  from atari_agent import AtariAgent
  from parl.env.atari_wrappers import wrap_deepmind, MonitorEnv, get_wrapper_by_cls
  from parl.env.vector_env import VectorEnv
label_desc: Use image node_id 1 to create a new Actor object from inherited base classes: object with example: obj = Actor(config)