class_docstr: Multi-Period (MPD) Discriminator.
  
  Args:
      in_channels (int): Number of input channels.
      out_channels (int): Number of output channels.
      periods (Sequence[int]): Periods between samples of audio for the sub-discriminators.
      **kwargs: Additional args for `PeriodDiscriminator`
class_docstr_tok: ["Multi-Period","(","MPD",")","Discriminator",".","Args",":","in_channels","(","int",")",":","Number","of","input","channels",".","out_channels","(","int",")",":","Number","of","output","channels",".","periods","(","Sequence","[","int","]",")",":","Periods","between","samples","of","audio","for","the","sub-discriminators",".","*","*","kwargs",":","Additional","args","for","`","PeriodDiscriminator","`"]
code: def forward(self, x: torch.Tensor) -> MultiDiscriminatorOutputType:
      logits = []
      fmaps = []
      for disc in self.discriminators:
          logit, fmap = disc(x)
          logits.append(logit)
          fmaps.append(fmap)
      return logits, fmaps
  
file_path: audiocraft/audiocraft/adversarial/discriminators/mpd.py
imports: import typing
  import torch
  import torch.nn
  import torch.nn.functional
  from ...modules import NormConv2d
  from .base import MultiDiscriminator, MultiDiscriminatorOutputType
label_desc: Use image node_id 3 for calling the MultiPeriodDiscriminator obj's underlying member method code with example usage: obj.forward(x) and returns: logits,  fmaps