code: def __init__(self, config):
      super(MLP, self).__init__()
      log.info("model_type is %s" % self.__class__.__name__)
  
      self.config = config
      self.num_layers = config.num_layers
      self.drop_ratio = config.drop_ratio
      self.JK = config.JK
      self.emb_dim = config.emb_dim
      self.num_tasks = config.num_tasks
      self.residual = config.residual
      self.graph_pooling = config.graph_pooling
  
      self.atom_encoder = getattr(
          ME, self.config.atom_enc_type, ME.AtomEncoder
      )(emb_dim=self.emb_dim)
  
      self.mlp = L.MLP(
          [self.emb_dim, 2 * self.emb_dim, self.emb_dim],
          norm=self.config.norm,
          last_lin=True,
      )
  
      ### Pooling function to generate whole-graph embeddings
      self.pool = MeanGlobalPool()
      self.graph_pred_linear = L.Linear(self.emb_dim, self.num_tasks)
  
imports: import os
  import sys
  import math
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  import pgl.nn
  from pgl.utils.logger import log
  import models.conv
  import models.mol_encoder
  import models.layers
label_desc: Use image node_id 1 to create a new MLP object from inherited base classes: paddle.nn with example: obj = MLP(config)