class_docstr: A hyper-network to generate paramters for mixing model.
      
code: def __init__(self, config):
      self.n_agents = config["n_agents"]
      self.batch_size = config["batch_size"]
      self.state_shape = config["state_shape"]
      self.embed_dim = config["mixing_embed_dim"]
      self.episode_limit = config["episode_limit"]
      self.hypernet_layers = config["hypernet_layers"]
      self.hypernet_embed_dim = config["hypernet_embed_dim"]
  
      if self.hypernet_layers == 1:
          self.hyper_w_1 = layers.fc(
              size=self.embed_dim * self.n_agents,
              act=None,
              name="hyper_w_1",
          )
          self.hyper_w_2 = layers.fc(
              size=self.embed_dim, act=None, name="hyper_w_2"
          )
      elif self.hypernet_layers == 2:
          self.hyper_w_1_1 = layers.fc(
              size=self.hypernet_embed_dim, name="hyper_w_1_1"
          )
          self.hyper_w_1_2 = layers.fc(
              size=self.embed_dim * self.n_agents, name="hyper_w_1_2"
          )
          self.hyper_w_2_1 = layers.fc(
              size=self.hypernet_embed_dim, name="hyper_w_2_1"
          )
          self.hyper_w_2_2 = layers.fc(
              size=self.embed_dim, name="hyper_w_2_2"
          )
      else:
          raise ValueError('hypernet_layers should be "1" or "2"!')
  
      self.hyper_b_1 = layers.fc(
          size=self.embed_dim, act=None, name="hyper_b_1"
      )
  
      self.hyper_b_2_1 = layers.fc(
          size=self.embed_dim, act=None, name="hyper_b_2_1"
      )
      self.hyper_b_2_2 = layers.fc(size=1, act=None, name="hyper_b_2_2")
  
imports: import parl
  from parl import layers
  import paddle.fluid
label_desc: Use image node_id 1 to create a new QMixerModel object from inherited base classes: parl with example: obj = QMixerModel(config)