class_docstr: Base class for graph transducer losses.
  Implementation of the approach described in "Powerful and Extensible WFST Framework for RNN-Transducer Losses"
  https://ieeexplore.ieee.org/document/10096679
  
  Compose-Transducer: compose the unit (target text) and temporal schemas (graphs) into lattice.
      Subclass should implement `get_unit_schema` and `get_temporal_schema` methods.
  Grid-Transducer: construct the RNN-T lattice (grid) directly in code.
      Subclass should implement `get_grid` method.
docstr: Get temporal schema graph for Compose-Transducer.
  
  Args:
      num_frames: length of the sequence (in frames)
      vocab_size: number of labels (including blank)
      device: device for tensor to construct
  
  Returns:
      temporal schema graph (k2.Fsa).
      Labels: <unit>:<frame_index>. <unit> is a unit from vocab + special units (e.g., additional eps).
docstr_tok: ["Get","temporal","schema","graph","for","Compose-Transducer",".","Args",":","num_frames",":","length","of","the","sequence","(","in","frames",")","vocab_size",":","number","of","labels","(","including","blank",")","device",":","device","for","tensor","to","construct","Returns",":","temporal","schema","graph","(","k2.Fsa",")",".","Labels",":","<","unit",">",":","<","frame_index",">",".","<","unit",">","is","a","unit","from","vocab","+","special","units","(","e.g.",",","additional","eps",")","."]
code: def get_temporal_schema(
      self, num_frames: int, vocab_size: int, device: torch.device
  ) -> "k2.Fsa":
      """
      Get temporal schema graph for Compose-Transducer.
  
      Args:
          num_frames: length of the sequence (in frames)
          vocab_size: number of labels (including blank)
          device: device for tensor to construct
  
      Returns:
          temporal schema graph (k2.Fsa).
          Labels: <unit>:<frame_index>. <unit> is a unit from vocab + special units (e.g., additional eps).
      """
      pass
  
imports: import abc
  from contextlib import nullcontext
  from typing import ContextManager
  import torch
  import torch.nn.functional
  from nemo.core.classes.loss import Loss
  from nemo.core.utils.k2_guard import k2
label_desc: Use image node_id 3 for calling the GraphTransducerLossBase obj's underlying member method code with example usage: obj.get_temporal_schema(num_frames, vocab_size, device) without return types