class_docstr: VITS Feature Matching Loss module
class_docstr_tok: ["VITS","Feature","Matching","Loss","module"]
docstr: fmap_r, fmap_g: List[List[Tensor]]
docstr_tok: ["fmap_r",",","fmap_g",":","List","[","List","[","Tensor","]","]"]
code: def forward(self, fmap_r, fmap_g):
      """
      fmap_r, fmap_g: List[List[Tensor]]
      """
      loss = 0
      for dr, dg in zip(fmap_r, fmap_g):
          for rl, gl in zip(dr, dg):
              rl = rl.float().detach()
              gl = gl.float()
              loss += torch.mean(torch.abs(rl - gl))
  
      return loss * 2
  
imports: import torch
  from nemo.core.classes import Loss, typecheck
  from nemo.core.neural_types.elements import LossType, VoidType
  from nemo.core.neural_types.neural_type import NeuralType
label_desc: Use image node_id 3 for calling the FeatureMatchingLoss obj's underlying member method code with example usage: obj.forward(fmap_r, fmap_g) and returns: unknown