code: def __call__(self, pooled_video, pooled_text, **kwargs):
      logits_per_video = pooled_video @ pooled_text.t()
      logits_per_text = pooled_text @ pooled_video.t()
  
      targets = torch.arange(
          pooled_video.size(0),
          dtype=torch.long,
          device=pooled_video.device,
      )
      loss_video = self.loss(logits_per_video, targets)
      loss_text = self.loss(logits_per_text, targets)
      return loss_video + loss_text
  
imports: import torch
  from torch import nn
  from .loss import Loss
label_desc: Use image node_id 2 for calling the MMContraLoss obj's underlying member method code with example usage: obj.__call__(pooled_video, pooled_text) and returns: unknown