class_docstr: Uses glow decoder with some modifications.
  ::
  
      Squeeze -> ActNorm -> InvertibleConv1x1 -> AffineCoupling -> Unsqueeze
  
  Args:
      in_channels (int): channels of input tensor.
      hidden_channels (int): hidden decoder channels.
      kernel_size (int): Coupling block kernel size. (Wavenet filter kernel size.)
      dilation_rate (int): rate to increase dilation by each layer in a decoder block.
      num_flow_blocks (int): number of decoder blocks.
      num_coupling_layers (int): number coupling layers. (number of wavenet layers.)
      dropout_p (float): wavenet dropout rate.
      sigmoid_scale (bool): enable/disable sigmoid scaling in coupling layer.
code: def __init__(
      self,
      in_channels,
      hidden_channels,
      kernel_size,
      dilation_rate,
      num_flow_blocks,
      num_coupling_layers,
      dropout_p=0.0,
      num_splits=4,
      num_squeeze=2,
      sigmoid_scale=False,
      c_in_channels=0,
  ):
      super().__init__()
  
      self.glow_decoder = GlowDecoder(
          in_channels,
          hidden_channels,
          kernel_size,
          dilation_rate,
          num_flow_blocks,
          num_coupling_layers,
          dropout_p,
          num_splits,
          num_squeeze,
          sigmoid_scale,
          c_in_channels,
      )
      self.n_sqz = num_squeeze
  
file_path: TTS/TTS/tts/layers/overflow/decoder.py
imports: import torch
  from torch import nn
  from TTS.tts.layers.glow_tts.decoder import Decoder
  from TTS.tts.utils.helpers import sequence_mask
label_desc: Use image node_id 1 to create a new Decoder object from inherited base classes: nn with example: obj = Decoder(in_channels, hidden_channels, kernel_size, dilation_rate, num_flow_blocks, num_coupling_layers, dropout_p, num_splits, num_squeeze, sigmoid_scale, c_in_channels)