class_docstr: Non-parallel Prosody Predictor inspired by: https://arxiv.org/pdf/2102.00851.pdf
  It consists of 2 layers of  1D convolutions each followed by a relu activation, layer norm
  and dropout, then finally a linear layer.
  
  Args:
      hidden_size (int): Size of hidden channels.
      kernel_size (int): Kernel size for the conv layers.
      dropout: (float): Probability of dropout.
      bottleneck_size (int): bottleneck size for last linear layer.
      lrelu_slope (float): Slope of the leaky relu.
class_docstr_tok: ["Non-parallel","Prosody","Predictor","inspired","by",":","https",":","\/\/arxiv.org\/pdf\/2102.00851.pdf","It","consists","of","2","layers","of","1D","convolutions","each","followed","by","a","relu","activation",",","layer","norm","and","dropout",",","then","finally","a","linear","layer",".","Args",":","hidden_size","(","int",")",":","Size","of","hidden","channels",".","kernel_size","(","int",")",":","Kernel","size","for","the","conv","layers",".","dropout",":","(","float",")",":","Probability","of","dropout",".","bottleneck_size","(","int",")",":","bottleneck","size","for","last","linear","layer",".","lrelu_slope","(","float",")",":","Slope","of","the","leaky","relu","."]
docstr: Shapes:
      x: :math: `[B, T, D]`
      mask: :math: `[B, T]`
docstr_tok: ["Shapes",":","x",":",":","math",":","`","[","B",",","T",",","D","]","`","mask",":",":","math",":","`","[","B",",","T","]","`"]
code: def forward(
      self, x: torch.Tensor, mask: torch.Tensor
  ) -> torch.Tensor:
      """
      Shapes:
          x: :math: `[B, T, D]`
          mask: :math: `[B, T]`
      """
      mask = mask.unsqueeze(2)
      for layer in self.layers:
          x = layer(x)
      x = x.masked_fill(mask, 0.0)
      x = self.predictor_bottleneck(x)
      return x
  
imports: import torch
  import torch.nn
  from TTS.tts.layers.delightful_tts.conv_layers import ConvTransposed
label_desc: Use image node_id 2 for calling the PhonemeProsodyPredictor obj's underlying member method code with example usage: obj.forward(x, mask) and returns: x