code: def forward(self, x):
      x = x.double()
  
      if self.kernel == "linear":
          k = torch.mm(x, self.sv_t)
      elif self.kernel == "rbf":
          # using quadratic expansion--susseptible to rounding-off errors
          # http://www.robots.ox.ac.uk/~albanie/notes/Euclidean_distance_trick.pdf
          x_norm = -self.gamma * (x**2).sum(1).view(-1, 1)
          k = torch.exp(
              x_norm
              + self.sv_norm
              + 2.0 * self.gamma * torch.mm(x, self.sv_t).double()
          )
      elif self.kernel == "sigmoid":
          k = torch.sigmoid(
              self.gamma * torch.mm(x, self.sv_t) + self.coef0
          )
      else:  # poly kernel
          k = torch.pow(
              self.gamma * torch.mm(x, self.sv_t) + self.coef0,
              self.degree,
          )
  
      c = [
          sum(
              self.a[i, p] * k[:, p : p + 1]
              for p in range(self.start[j], self.end[j])
          )
          + sum(
              self.a[j - 1, p] * k[:, p : p + 1]
              for p in range(self.start[i], self.end[i])
          )
          for i in range(self.len_nv)
          for j in range(i + 1, self.len_nv)
      ]
      c = torch.cat(c, dim=1) + self.b
      if self.n_classes == 2:
          class_ids = torch.gt(c, 0.0).int().flatten()
      else:
          votes = torch.where(
              c > 0, self.true_classes, self.false_classes
          )
          # TODO mode is still not implemented for GPU backend.
          votes = votes.data.cpu()
          class_ids, _ = torch.mode(votes, dim=1)
      # No class probabilities in SVC.
      if self.perform_class_select:
          temp = torch.index_select(self.classes, 0, class_ids.long())
          return temp, temp
      else:
          return class_ids, class_ids
  
file_path: hummingbird/hummingbird/ml/operator_converters/_sv_implementations.py
imports: import numpy
  import scipy
  import torch
  from ._physical_operator import PhysicalOperator
label_desc: Use image node_id 2 for calling the SVC obj's underlying member method code with example usage: obj.forward(x) and returns: temp,  temp, class_ids,  class_ids