code: def rnnt_model():
      preprocessor = {
          "cls": "nemo.collections.asr.modules.AudioToMelSpectrogramPreprocessor",
          "params": dict({}),
      }
  
      # fmt: off
      labels = [' ', 'a', 'b', 'c', 'd', 'e', 'f',
                'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
                'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
                'x', 'y', 'z', "'",
                ]
      # fmt: on
  
      model_defaults = {"enc_hidden": 96, "pred_hidden": 64}
  
      # Test case where Encoder (default) is not adapter compatible
      encoder = {
          "cls": "nemo.collections.asr.modules.ConvASREncoder",
          "params": {
              "feat_in": 64,
              "activation": "relu",
              "conv_mask": True,
              "jasper": [
                  {
                      "filters": model_defaults["enc_hidden"],
                      "repeat": 1,
                      "kernel": [1],
                      "stride": [1],
                      "dilation": [1],
                      "dropout": 0.0,
                      "residual": False,
                      "separable": True,
                      "se": True,
                      "se_context_size": -1,
                  }
              ],
          },
      }
  
      decoder = {
          "_target_": "nemo.collections.asr.modules.RNNTDecoder",
          "prednet": {
              "pred_hidden": model_defaults["pred_hidden"],
              "pred_rnn_layers": 1,
          },
      }
  
      joint = {
          "_target_": "nemo.collections.asr.modules.RNNTJoint",
          "jointnet": {"joint_hidden": 32, "activation": "relu"},
      }
  
      decoding = {
          "strategy": "greedy_batch",
          "greedy": {"max_symbols": 10},
      }
  
      loss = {
          "loss_name": "default",
          "warprnnt_numba_kwargs": {"fastemit_lambda": 0.001},
      }
  
      modelConfig = DictConfig(
          {
              "labels": ListConfig(labels),
              "preprocessor": DictConfig(preprocessor),
              "model_defaults": DictConfig(model_defaults),
              "encoder": DictConfig(encoder),
              "decoder": DictConfig(decoder),
              "joint": DictConfig(joint),
              "decoding": DictConfig(decoding),
              "loss": DictConfig(loss),
          }
      )
  
      model_instance = EncDecRNNTModel(cfg=modelConfig)
      return model_instance
  
imports: import pytest
  import torch
  from omegaconf import DictConfig, ListConfig, OmegaConf
  from nemo.collections.asr.models import ASRModel, EncDecCTCModel, EncDecRNNTModel
  from nemo.collections.asr.parts.submodules.adapters import multi_head_attention_adapter_module
  from nemo.collections.asr.parts.utils import adapter_utils
  from nemo.collections.common.parts import adapter_modules
  from nemo.core.classes.mixins.access_mixins import AccessMixin
  from nemo.core.classes.mixins.adapter_mixins import AdapterModuleMixin, get_registered_adapter
  from nemo.core.utils import numba_utils
  from nemo.core.utils.numba_utils import __NUMBA_MINIMUM_VERSION__
  from nemo.utils import config_utils, model_utils
label_desc: Use image node_id 4 for calling a global function with example usage: rnnt_model() and returns: model_instance