class_docstr: An abstract RNNT Decoder framework, which can possibly integrate with GreedyRNNTInfer and BeamRNNTInfer classes.
  Represents the abstract RNNT Prediction/Decoder stateful network, which performs autoregressive decoding
  in order to construct the output sequence.
  
  Args:
      vocab_size: Size of the vocabulary, excluding the RNNT blank token.
      blank_idx: Index of the blank token. Can be 0 or size(vocabulary).
      blank_as_pad: Bool flag, whether to allocate an additional token in the Embedding layer
          of this module in order to treat all RNNT `blank` tokens as pad tokens, thereby letting
          the Embedding layer batch tokens more efficiently.
  
          It is mandatory to use this for certain Beam RNNT Infer methods - such as TSD, ALSD.
          It is also more efficient to use greedy batch decoding with this flag.
class_docstr_tok: ["An","abstract","RNNT","Decoder","framework",",","which","can","possibly","integrate","with","GreedyRNNTInfer","and","BeamRNNTInfer","classes",".","Represents","the","abstract","RNNT","Prediction\/Decoder","stateful","network",",","which","performs","autoregressive","decoding","in","order","to","construct","the","output","sequence",".","Args",":","vocab_size",":","Size","of","the","vocabulary",",","excluding","the","RNNT","blank","token",".","blank_idx",":","Index","of","the","blank","token",".","Can","be","0","or","size","(","vocabulary",")",".","blank_as_pad",":","Bool","flag",",","whether","to","allocate","an","additional","token","in","the","Embedding","layer","of","this","module","in","order","to","treat","all","RNNT","`","blank","`","tokens","as","pad","tokens",",","thereby","letting","the","Embedding","layer","batch","tokens","more","efficiently",".","It","is","mandatory","to","use","this","for","certain","Beam","RNNT","Infer","methods","-","such","as","TSD",",","ALSD",".","It","is","also","more","efficient","to","use","greedy","batch","decoding","with","this","flag","."]
docstr: Return states by mask selection
  Args:
      states: states for the batch (preferably a list of tensors, but not limited to)
      mask: boolean mask for selecting states; batch dimension should be the same as for states
  
  Returns:
      states filtered by mask (same type as `states`)
docstr_tok: ["Return","states","by","mask","selection","Args",":","states",":","states","for","the","batch","(","preferably","a","list","of","tensors",",","but","not","limited","to",")","mask",":","boolean","mask","for","selecting","states",";","batch","dimension","should","be","the","same","as","for","states","Returns",":","states","filtered","by","mask","(","same","type","as","`","states","`",")"]
code: def mask_select_states(self, states: Any, mask: torch.Tensor) -> Any:
      """
      Return states by mask selection
      Args:
          states: states for the batch (preferably a list of tensors, but not limited to)
          mask: boolean mask for selecting states; batch dimension should be the same as for states
  
      Returns:
          states filtered by mask (same type as `states`)
      """
      raise NotImplementedError()
  
imports: from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Optional, Tuple
  import torch
  from nemo.collections.asr.parts.utils.rnnt_utils import Hypothesis
  from nemo.core import NeuralModule
label_desc: Use image node_id 10 for calling the AbstractRNNTDecoder obj's underlying member method code with example usage: obj.mask_select_states(states, mask) without return types