code: def __init__(self, in_feats, out_feats, num_layers=2, hidden=128):
      super(MLP, self).__init__()
      self.layers = nn.ModuleList()
      layer = nn.Linear(hidden, out_feats)
      nn.init.normal_(layer.weight, std=0.1)
      nn.init.zeros_(layer.bias)
      self.layers.append(nn.Linear(in_feats, hidden))
      if num_layers > 2:
          for i in range(1, num_layers - 1):
              layer = nn.Linear(hidden, hidden)
              nn.init.normal_(layer.weight, std=0.1)
              nn.init.zeros_(layer.bias)
              self.layers.append(layer)
      layer = nn.Linear(hidden, out_feats)
      nn.init.normal_(layer.weight, std=0.1)
      nn.init.zeros_(layer.bias)
      self.layers.append(layer)
  
imports: import copy
  from functools import partial
  import dgl
  import dgl.function
  import dgl.nn
  import torch
  import torch.nn
  from torch.nn import functional
label_desc: Use image node_id 1 to create a new MLP object from inherited base classes: nn with example: obj = MLP(in_feats, out_feats, num_layers, hidden)