code: def forward(self, p_score, n_score):
      if self.adv_flag:
          return (
              -(
                  self.criterion(p_score).mean()
                  + (
                      self.get_weights(n_score)
                      * self.criterion(-n_score)
                  )
                  .sum(dim=-1)
                  .mean()
              )
              / 2
          )
      else:
          return (
              -(
                  self.criterion(p_score).mean()
                  + self.criterion(-n_score).mean()
              )
              / 2
          )
  
file_path: OpenKE/openke/module/loss/SigmoidLoss.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  import numpy
  from .Loss import Loss
label_desc: Use image node_id 3 for calling the SigmoidLoss obj's underlying member method code with example usage: obj.forward(p_score, n_score) and returns: unknown, unknown