class_docstr: RNN decoder module.
  
  Args:
      vocab_size: Vocabulary size.
      embed_size: Embedding size.
      hidden_size: Hidden size..
      rnn_type: Decoder layers type.
      num_layers: Number of decoder layers.
      dropout_rate: Dropout rate for decoder layers.
      embed_dropout_rate: Dropout rate for embedding layer.
      embed_pad: Embedding padding symbol ID.
docstr: Encode source label sequences.
  
  Args:
      labels: Label ID sequences. (B, L)
  
  Returns:
      out: Decoder output sequences. (B, U, D_dec)
docstr_tok: ["Encode","source","label","sequences",".","Args",":","labels",":","Label","ID","sequences",".","(","B",",","L",")","Returns",":","out",":","Decoder","output","sequences",".","(","B",",","U",",","D_dec",")"]
code: def forward(self, labels: torch.Tensor) -> torch.Tensor:
      """Encode source label sequences.
  
      Args:
          labels: Label ID sequences. (B, L)
  
      Returns:
          out: Decoder output sequences. (B, U, D_dec)
  
      """
      states = self.init_state(labels.size(0))
  
      embed = self.dropout_embed(self.embed(labels))
      out, _ = self.rnn_forward(embed, states)
  
      return out
  
file_path: espnet/espnet2/asr_transducer/decoder/rnn_decoder.py
imports: from typing import List, Optional, Tuple
  import torch
  from typeguard import check_argument_types
  from espnet2.asr_transducer.beam_search_transducer import Hypothesis
  from espnet2.asr_transducer.decoder.abs_decoder import AbsDecoder
label_desc: Use image node_id 2 for calling the RNNDecoder obj's underlying member method code with example usage: obj.forward(labels) and returns: out