class_docstr: Default graph compiler for RNNT loss.
  Each supervision graph is composed with the corresponding RNNT emission adapter.
  
  If max_adapter_length is provided, the maximum adapter length is limited.
  
  Note:
    The actual number of classes is `num_classes` + 1 with <eps> as the class 0.
  
  Warning:
    It is currently not recommended to use topologies other than "minimal".
code: def __init__(
      self,
      num_classes: int,
      blank: int,
      topo_type: str = "minimal",
      topo_with_self_loops: bool = True,
      device: torch.device = torch.device("cpu"),
      max_adapter_length: int = 0,
  ):
      if topo_type == "compact":
          raise NotImplementedError(
              f"This compiler does not support topo_type==`compact`."
          )
      super().__init__(
          num_classes, blank, topo_type, topo_with_self_loops, device
      )
      from nemo.collections.asr.parts.k2.topologies import (
          RnntEmissionAdapterBuilder,
      )
  
      self.max_adapter_length = max_adapter_length
      self._builder = RnntEmissionAdapterBuilder(
          list(range(num_classes)), blank, num_classes
      )
  
imports: from typing import Optional, Tuple
  import torch
  from nemo.collections.asr.parts.k2.utils import add_self_loops, compose_with_self_loops, intersect_with_self_loops
  from nemo.core.utils.k2_guard import k2
label_desc: Use image node_id 1 to create a new RnntTopologyCompiler object from inherited base classes: CtcTopologyCompiler with example: obj = RnntTopologyCompiler(num_classes, blank, topo_type, topo_with__loops, device, max_adapter_length)