class_docstr: MLP with linear output
code: def forward(self, x):
      if self.linear_or_not:
          # If linear model
          return self.linear(x)
      else:
          # If MLP
          h = x
          for i in range(self.num_layers - 1):
              h = torch.nn.functional.relu(
                  self.batch_norms[i](self.linears[i](h))
              )
          return self.linears[-1](h)
  
imports: import dgl
  import torch.nn.functional
  import typing
  from dgl.nn.pytorch.conv import GINConv
  from ..None import base_encoder, encoder_registry
  from ...None import _utils
label_desc: Use image node_id 2 for calling the MLP obj's underlying member method code with example usage: obj.forward(x) and returns: self, self