code: def __init__(
      self,
      num_users: int,
      num_items: int,
      layers=(64, 32, 16, 8),
      act_fn="relu",
  ):
      super(MLP, self).__init__()
  
      self.num_users = num_users
      self.num_items = num_items
      self.user_embedding = nn.Embedding(num_users, layers[0] // 2)
      self.item_embedding = nn.Embedding(num_items, layers[0] // 2)
  
      mlp_layers = []
      for idx, factor in enumerate(layers[:-1]):
          mlp_layers.append(nn.Linear(factor, layers[idx + 1]))
          mlp_layers.append(activation_functions[act_fn.lower()])
  
      # unpacking layers in to torch.nn.Sequential
      self.mlp_model = nn.Sequential(*mlp_layers)
  
      self.logit = nn.Linear(layers[-1], 1)
      self.Sigmoid = nn.Sigmoid()
  
      self._init_weight()
  
imports: import torch
  import torch.nn
label_desc: Use image node_id 1 to create a new MLP object from inherited base classes: nn with example: obj = MLP(num_users, num_items, layers, act_fn)