class_docstr: Random Window Discriminator as described in
  http://arxiv.org/abs/1909.11646
code: def forward(self, x, c):
      scores = []
      feats = []
      # unconditional pass
      for window_size, layer in zip(
          self.window_sizes, self.unconditional_discriminators
      ):
          index = np.random.randint(x.shape[-1] - window_size)
  
          score = layer(x[:, :, index : index + window_size])
          scores.append(score)
  
      # conditional pass
      for window_size, layer in zip(
          self.window_sizes, self.conditional_discriminators
      ):
          frame_size = window_size // self.hop_length
          lc_index = np.random.randint(c.shape[-1] - frame_size)
          sample_index = lc_index * self.hop_length
          x_sub = x[
              :,
              :,
              sample_index : (lc_index + frame_size) * self.hop_length,
          ]
          c_sub = c[:, :, lc_index : lc_index + frame_size]
  
          score = layer(x_sub, c_sub)
          scores.append(score)
      return scores, feats
  
imports: import numpy
  from torch import nn
label_desc: Use image node_id 2 for calling the RandomWindowDiscriminator obj's underlying member method code with example usage: obj.forward(x, c) and returns: scores,  feats