code: def __init__(
      self,
      in_channels: int,
      hidden_channels: int,
      out_channels: int,
      num_layers: int,
      dropout: float = 0.0,
      batch_norm: bool = True,
      relu_last: bool = False,
  ):
      super(MLP, self).__init__()
  
      self.lins = ModuleList()
      self.lins.append(Linear(in_channels, hidden_channels))
      for _ in range(num_layers - 2):
          self.lins.append(Linear(hidden_channels, hidden_channels))
      self.lins.append(Linear(hidden_channels, out_channels))
  
      self.batch_norms = ModuleList()
      for _ in range(num_layers - 1):
          norm = (
              BatchNorm1d(hidden_channels) if batch_norm else Identity()
          )
          self.batch_norms.append(norm)
  
      self.dropout = dropout
      self.relu_last = relu_last
  
file_path: ogb/examples/lsc/mag240m/mlp.py
imports: import time
  import argparse
  import torch
  import torch.nn.functional
  from torch.utils.data import DataLoader
  from torch.nn import ModuleList, Linear, BatchNorm1d, Identity
  from ogb.lsc import MAG240MDataset, MAG240MEvaluator
  from root import ROOT
label_desc: Use image node_id 1 to create a new MLP object from inherited base classes: torch.nn with example: obj = MLP(in_channels, hidden_channels, out_channels, num_layers, dropout, batch_norm, relu_last)