class_docstr: torchaudio.models.RNNT()
  
  Recurrent neural network transducer (RNN-T) model.
  
  Note:
      To build the model, please use one of the factory functions.
  
  Args:
      transcriber (torch.nn.Module): transcription network.
      predictor (torch.nn.Module): prediction network.
      joiner (torch.nn.Module): joint network.
      attndim (int): TCPGen attention dimension
      biasing (bool): If true, use biasing, otherwise use standard RNN-T
      deepbiasing (bool): If true, use deep biasing by extracting the biasing vector
      embdim (int): dimension of symbol embeddings
      jointdim (int): dimension of the joint network joint dimension
      charlist (list): The list of word piece tokens in the same order as the output layer
      encoutdim (int): dimension of the encoder output vectors
      dropout_tcpgen (float): dropout rate for TCPGen
      tcpsche (int): The epoch at which TCPGen starts to train
      DBaverage (bool): If true, instead of TCPGen, use DBRNNT for biasing
code: def get_tcpgen_step_masks(self, yseqs, resettrie):
      seqlen = len(yseqs[0])
      batch_masks = yseqs.new_ones(
          len(yseqs), seqlen, len(self.char_list) + 1
      )
      p_gen_masks = []
      for i, yseq in enumerate(yseqs):
          new_tree = resettrie
          p_gen_mask = []
          for j, vy in enumerate(yseq):
              vy = vy.item()
              new_tree = new_tree[0]
              if vy in [self.blank_idx]:
                  new_tree = resettrie
                  p_gen_mask.append(0)
              elif self.char_list[vy].endswith("▁"):
                  if vy in new_tree and new_tree[vy][0] != {}:
                      new_tree = new_tree[vy]
                  else:
                      new_tree = resettrie
                  p_gen_mask.append(0)
              elif vy not in new_tree:
                  new_tree = [{}]
                  p_gen_mask.append(1)
              else:
                  new_tree = new_tree[vy]
                  p_gen_mask.append(0)
              batch_masks[i, j, list(new_tree[0].keys())] = 0
              # In the original paper, ooKB node was not masked
              # In this implementation, if not masking ooKB, ooKB probability
              # would quickly collapse to 1.0 in the first few updates.
              # Haven't found out why this happened.
              # batch_masks[i, j, -1] = 0
          p_gen_masks.append(
              p_gen_mask + [1] * (seqlen - len(p_gen_mask))
          )
      p_gen_masks = torch.Tensor(p_gen_masks).to(yseqs.device).byte()
      return batch_masks, p_gen_masks
  
imports: import math
  from typing import Dict, List, Optional, Tuple
  import torch
  from torchaudio.models import Conformer, RNNT
  from torchaudio.models.rnnt import _Joiner, _Predictor, _TimeReduction, _Transcriber
label_desc: Use image node_id 5 for calling the RNNTBiasing obj's underlying member method code with example usage: obj.get_tcpgen_step_masks(yseqs, resettrie) and returns: batch_masks,  p_gen_masks