class_docstr: ASR model wrapper to perform alignment building.
  Functionality is limited to the components needed to build an alignment.
code: def __init__(self, model: ASRModel, cfg: DictConfig):
      model_cfg = model.cfg
      for ds in ("train_ds", "validation_ds", "test_ds"):
          if ds in model_cfg:
              model_cfg[ds] = None
      super().__init__(cfg=model_cfg, trainer=model.trainer)
      self._model = model
      self.alignment_type = cfg.get("alignment_type", "forced")
      self.word_output = cfg.get("word_output", True)
      self.cpu_decoding = cfg.get("cpu_decoding", False)
      self.decode_batch_size = cfg.get("decode_batch_size", 0)
  
      # list possible alignment types here for future work
      if self.alignment_type == "forced":
          pass
      elif self.alignment_type == "argmax":
          pass
      elif self.alignment_type == "loose":
          raise NotImplementedError(
              f"alignment_type=`{self.alignment_type}` is not supported at the moment."
          )
      elif self.alignment_type == "rnnt_decoding_aux":
          raise NotImplementedError(
              f"alignment_type=`{self.alignment_type}` is not supported at the moment."
          )
      else:
          raise RuntimeError(
              f"Unsupported alignment type: {self.alignment_type}"
          )
  
      self._init_model_specific(cfg)
  
imports: import copy
  import os
  from typing import Dict, List, Optional, Tuple, Union
  import numpy
  import torch
  from omegaconf import DictConfig, OmegaConf, open_dict
  from tqdm.auto import tqdm
  from nemo.collections.asr.data.audio_to_ctm_dataset import FrameCtmUnit
  from nemo.collections.asr.data.audio_to_text_dali import DALIOutputs
  from nemo.collections.asr.models.asr_model import ASRModel
  from nemo.utils import logging
label_desc: Use image node_id 1 to create a new AlignerWrapperModel object from inherited base classes: ASRModel with example: obj = AlignerWrapperModel(model, cfg)