class_docstr: Description
  -----------
  From equation (5) in "DeeperGCN: All You Need to Train Deeper GCNs <https://arxiv.org/abs/2006.07739>"
code: def __init__(self, channels, act="relu", dropout=0.0, bias=True):
      layers = []
  
      for i in range(1, len(channels)):
          layers.append(nn.Linear(channels[i - 1], channels[i], bias))
          if i < len(channels) - 1:
              layers.append(nn.BatchNorm1d(channels[i], affine=True))
              layers.append(nn.ReLU())
              layers.append(nn.Dropout(dropout))
  
      super(MLP, self).__init__(*layers)
  
file_path: dgl/examples/pytorch/deepergcn/modules.py
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new MLP object from inherited base classes: nn with example: obj = MLP(channels, act, dropout, bias)