code: def forward(self, x):
      for i in range(len(self.weights) - 1):
          x = torch.addmm(self.biases[i], x, self.weights[i])
  
          if self.activation == "relu":
              x = torch.relu(x)
          elif self.activation == "logistic":
              x = torch.sigmoid(x)
          elif self.activation == "tanh":
              x = torch.tanh(x)
          elif self.activation != "identity":
              raise RuntimeError(
                  "Unsupported activation {0}".format(self.activation)
              )
  
      return torch.addmm(self.biases[-1], x, self.weights[-1])
  
file_path: hummingbird/hummingbird/ml/operator_converters/_mlp_implementations.py
imports: import torch
  from ._physical_operator import PhysicalOperator
label_desc: Use image node_id 2 for calling the MLPModel obj's underlying member method code with example usage: obj.forward(x) and returns: torch