class_docstr: Speech-to-text alignment model (https://arxiv.org/pdf/2108.10447.pdf) that is used to learn alignments between mel spectrogram and text.
class_docstr_tok: ["Speech-to-text","alignment","model","(","https",":","\/\/arxiv.org\/pdf\/2108.10447.pdf",")","that","is","used","to","learn","alignments","between","mel","spectrogram","and","text","."]
code: def _setup_tokenizer(self, cfg):
      text_tokenizer_kwargs = {}
      if "g2p" in cfg.text_tokenizer:
          # for backward compatibility
          if (
              self._is_model_being_restored()
              and (
                  cfg.text_tokenizer.g2p.get("_target_", None)
                  is not None
              )
              and cfg.text_tokenizer.g2p["_target_"].startswith(
                  "nemo_text_processing.g2p"
              )
          ):
              cfg.text_tokenizer.g2p[
                  "_target_"
              ] = g2p_backward_compatible_support(
                  cfg.text_tokenizer.g2p["_target_"]
              )
  
          g2p_kwargs = {}
  
          if "phoneme_dict" in cfg.text_tokenizer.g2p:
              g2p_kwargs["phoneme_dict"] = self.register_artifact(
                  "text_tokenizer.g2p.phoneme_dict",
                  cfg.text_tokenizer.g2p.phoneme_dict,
              )
  
          if "heteronyms" in cfg.text_tokenizer.g2p:
              g2p_kwargs["heteronyms"] = self.register_artifact(
                  "text_tokenizer.g2p.heteronyms",
                  cfg.text_tokenizer.g2p.heteronyms,
              )
  
          text_tokenizer_kwargs["g2p"] = instantiate(
              cfg.text_tokenizer.g2p, **g2p_kwargs
          )
  
      self.tokenizer = instantiate(
          cfg.text_tokenizer, **text_tokenizer_kwargs
      )
  
imports: from typing import List
  import numpy
  import omegaconf
  import torch
  from hydra.utils import instantiate
  from omegaconf import DictConfig
  from pytorch_lightning import Trainer
  from pytorch_lightning.loggers import WandbLogger
  from torch import nn
  from nemo.collections.tts.losses.aligner_loss import BinLoss, ForwardSumLoss
  from nemo.collections.tts.parts.utils.helpers import binarize_attention, g2p_backward_compatible_support, get_mask_from_lengths, plot_alignment_to_numpy
  from nemo.core.classes import ModelPT
  from nemo.core.classes.common import PretrainedModelInfo
  from nemo.utils import logging, model_utils
label_desc: Use image node_id 3 for calling the AlignerModel obj's underlying member method code with example usage: obj._setup_tokenizer(cfg) without return types