class_docstr: Beam search decoder for RNN-T model with biasing support.
  
  Args:
      model (RNNT): RNN-T model to use.
      blank (int): index of blank token in vocabulary.
      temperature (float, optional): temperature to apply to joint network output.
          Larger values yield more uniform samples. (Default: 1.0)
      hypo_sort_key (Callable[[Hypothesis], float] or None, optional): callable that computes a score
          for a given hypothesis to rank hypotheses by. If ``None``, defaults to callable that returns
          hypothesis score normalized by token sequence length. (Default: None)
      step_max_tokens (int, optional): maximum number of tokens to emit per input time step. (Default: 100)
      trie (list, optional): the prefix tree for TCPGen biasing
      biasing (bool, optional): If true, do biasing, otherwise use standard RNN-T support
code: def _search(
      self,
      enc_out: torch.Tensor,
      hypo: Optional[Hypothesis],
      beam_width: int,
  ) -> List[Hypothesis]:
      n_time_steps = enc_out.shape[1]
      device = enc_out.device
  
      a_hypos: List[Hypothesis] = []
      b_hypos = self._init_b_hypos(hypo, device)
      for t in range(n_time_steps):
          a_hypos = b_hypos
          b_hypos = torch.jit.annotate(List[Hypothesis], [])
          key_to_b_hypo: Dict[str, Hypothesis] = {}
          symbols_current_t = 0
  
          while a_hypos:
              next_token_probs = self._gen_next_token_probs(
                  enc_out[:, t : t + 1], a_hypos, device
              )
              next_token_probs = next_token_probs.cpu()
              b_hypos = self._gen_b_hypos(
                  b_hypos, a_hypos, next_token_probs, key_to_b_hypo
              )
  
              if symbols_current_t == self.step_max_tokens:
                  break
  
              a_hypos = self._gen_a_hypos(
                  a_hypos,
                  b_hypos,
                  next_token_probs,
                  t,
                  beam_width,
                  device,
              )
              if a_hypos:
                  symbols_current_t += 1
  
          _, sorted_idx = torch.tensor(
              [self.hypo_sort_key(hypo) for hypo in b_hypos]
          ).topk(beam_width)
          b_hypos = [b_hypos[idx] for idx in sorted_idx]
  
      return b_hypos
  
imports: from typing import Callable, Dict, List, Optional, Tuple
  import torch
  from torchaudio.models import RNNT
  from torchaudio.prototype.models.rnnt import TrieNode
label_desc: Use image node_id 9 for calling the RNNTBeamSearchBiasing obj's underlying member method code with example usage: obj._search(enc_out, hypo, beam_width) and returns: b_hypos