code: def forward(
      self,
      caches,
      token_ids,
      type_ids,
      pos_ids,
      generation_mask,
      aux_emb=None,
  ):
      out, self_attn_mask = self.gen_input(
          token_ids, type_ids, pos_ids, generation_mask, aux_emb
      )
  
      new_caches = []
      for i, encoder_layer in enumerate(self.encoder_layers):
          out, new_cache = encoder_layer(out, self_attn_mask, caches[i])
          new_caches.append(new_cache)
  
      enc_output = self.post_encoder_layer_norm(out)
      return enc_output, new_caches
  
imports: from collections import namedtuple
  import paddle
  import paddle.nn
  import paddle.nn.functional
label_desc: Use image node_id 2 for calling the Plato2Encoder obj's underlying member method code with example usage: obj.forward(caches, token_ids, type_ids, pos_ids, generation_mask, aux_emb) and returns: enc_output,  new_caches