class_docstr: Stateless Transducer decoder module.
  
  Args:
      vocab_size: Output size.
      embed_size: Embedding size.
      embed_dropout_rate: Dropout rate for embedding layer.
      embed_pad: Embed/Blank symbol ID.
class_docstr_tok: ["Stateless","Transducer","decoder","module",".","Args",":","vocab_size",":","Output","size",".","embed_size",":","Embedding","size",".","embed_dropout_rate",":","Dropout","rate","for","embedding","layer",".","embed_pad",":","Embed\/Blank","symbol","ID","."]
docstr: Construct a StatelessDecoder object.
docstr_tok: ["Construct","a","StatelessDecoder","object","."]
code: def __init__(
      self,
      vocab_size: int,
      embed_size: int = 256,
      embed_dropout_rate: float = 0.0,
      embed_pad: int = 0,
  ) -> None:
      """Construct a StatelessDecoder object."""
      super().__init__()
  
      assert check_argument_types()
  
      self.embed = torch.nn.Embedding(
          vocab_size, embed_size, padding_idx=embed_pad
      )
      self.embed_dropout_rate = torch.nn.Dropout(p=embed_dropout_rate)
  
      self.output_size = embed_size
      self.vocab_size = vocab_size
  
      self.device = next(self.parameters()).device
      self.score_cache = {}
  
file_path: espnet/espnet2/asr_transducer/decoder/stateless_decoder.py
imports: from typing import Any, 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 1 to create a new StatelessDecoder object from inherited base classes: AbsDecoder with example: obj = StatelessDecoder(vocab_size, embed_size, embed_dropout_rate, embed_pad)