class_docstr: PWGAN generator as in https://arxiv.org/pdf/1910.11480.pdf.
  It is similar to WaveNet with no causal convolution.
      It is conditioned on an aux feature (spectrogram) to generate
  an output waveform from an input noise.
class_docstr_tok: ["PWGAN","generator","as","in","https",":","\/\/arxiv.org\/pdf\/1910.11480.pdf",".","It","is","similar","to","WaveNet","with","no","causal","convolution",".","It","is","conditioned","on","an","aux","feature","(","spectrogram",")","to","generate","an","output","waveform","from","an","input","noise","."]
code: def remove_weight_norm(self):
      def _remove_weight_norm(m):
          try:
              # print(f"Weight norm is removed from {m}.")
              torch.nn.utils.remove_weight_norm(m)
          except ValueError:  # this module didn't have weight norm
              return
  
      self.apply(_remove_weight_norm)
  
file_path: TTS/TTS/vocoder/models/parallel_wavegan_generator.py
imports: import math
  import numpy
  import torch
  from TTS.vocoder.layers.parallel_wavegan import ResidualBlock
  from TTS.vocoder.layers.upsample import ConvUpsample
label_desc: Use image node_id 4 for calling the ParallelWaveganGenerator obj's underlying member method code with example usage: obj.remove_weight_norm() without return types