code: def __init__(self, algorithm, config):
      self.global_step = 0
      self.n_agents = config["n_agents"]
      self.n_actions = config["n_actions"]
      self.obs_shape = config["obs_shape"]
      self.batch_size = config["batch_size"]
      self.state_shape = config["state_shape"]
      self.episode_limit = config["episode_limit"]
      self.exploration = config["exploration_start"]
      self.rnn_hidden_dim = config["rnn_hidden_dim"]
      self.min_exploration = config["min_exploration"]
      self.exploration_decay = config["exploration_decay"]
      self.update_target_interval = config["update_target_interval"]
      self.target_update_count = 0
      super(QMixAgent, self).__init__(algorithm)
  
file_path: PARL/benchmark/fluid/QMIX/qmix_agent.py
imports: import parl
  from parl import layers
  import paddle.fluid
  import numpy
  from utils import AvailableActionsSampler
  from parl.utils import machine_info
label_desc: Use image node_id 1 to create a new QMixAgent object from inherited base classes: parl with example: obj = QMixAgent(algorithm, config)