class_docstr: Multi-Scale (MSD) Discriminator,
  
  Args:
      in_channels (int): Number of input channels.
      out_channels (int): Number of output channels.
      downsample_factor (int): Downsampling factor between the different scales.
      scale_norms (Sequence[str]): Normalization for each sub-discriminator.
      **kwargs: Additional args for ScaleDiscriminator.
class_docstr_tok: ["Multi-Scale","(","MSD",")","Discriminator",",","Args",":","in_channels","(","int",")",":","Number","of","input","channels",".","out_channels","(","int",")",":","Number","of","output","channels",".","downsample_factor","(","int",")",":","Downsampling","factor","between","the","different","scales",".","scale_norms","(","Sequence","[","str","]",")",":","Normalization","for","each","sub-discriminator",".","*","*","kwargs",":","Additional","args","for","ScaleDiscriminator","."]
code: def num_discriminators(self):
      return len(self.discriminators)
  
file_path: audiocraft/audiocraft/adversarial/discriminators/msd.py
imports: import typing
  import numpy
  import torch
  import torch.nn
  from ...modules import NormConv1d
  from .base import MultiDiscriminator, MultiDiscriminatorOutputType
label_desc: Use image node_id 2 for calling the MultiScaleDiscriminator obj's underlying member method code with example usage: obj.num_discriminators() and returns: len