class_docstr: Prenet module for decoder of Spectrogram prediction network.
  
  This is a module of Prenet in the decoder of Spectrogram prediction network,
  which described in `Natural TTS
  Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions`_.
  The Prenet preforms nonlinear conversion
  of inputs before input to auto-regressive lstm,
  which helps to learn diagonal attentions.
  
  Note:
      This module alway applies dropout even in evaluation.
      See the detail in `Natural TTS Synthesis by
      Conditioning WaveNet on Mel Spectrogram Predictions`_.
  
  .. _`Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions`:
     https://arxiv.org/abs/1712.05884
docstr: Calculate forward propagation.
  
  Args:
      x (Tensor): Batch of input tensors (B, ..., idim).
  
  Returns:
      Tensor: Batch of output tensors (B, ..., odim).
docstr_tok: ["Calculate","forward","propagation",".","Args",":","x","(","Tensor",")",":","Batch","of","input","tensors","(","B",",","...",",","idim",")",".","Returns",":","Tensor",":","Batch","of","output","tensors","(","B",",","...",",","odim",")","."]
code: def forward(self, x):
      """Calculate forward propagation.
  
      Args:
          x (Tensor): Batch of input tensors (B, ..., idim).
  
      Returns:
          Tensor: Batch of output tensors (B, ..., odim).
  
      """
      for i in range(len(self.prenet)):
          # we make this part non deterministic. See the above note.
          x = F.dropout(self.prenet[i](x), self.dropout_rate)
      return x
  
imports: import torch
  import torch.nn.functional
  from espnet.nets.pytorch_backend.rnn.attentions import AttForwardTA
label_desc: Use image node_id 2 for calling the Prenet obj's underlying member method code with example usage: obj.forward(x) and returns: x