class_docstr: Base class for encoder decoder CTC-based models.
code: def input_types(self) -> Optional[Dict[str, NeuralType]]:
      if hasattr(self.preprocessor, "_sample_rate"):
          input_signal_eltype = AudioSignal(
              freq=self.preprocessor._sample_rate
          )
      else:
          input_signal_eltype = AudioSignal()
      return {
          "input_signal": NeuralType(
              ("B", "T"), input_signal_eltype, optional=True
          ),
          "input_signal_length": NeuralType(
              tuple("B"), LengthsType(), optional=True
          ),
          "processed_signal": NeuralType(
              ("B", "D", "T"), SpectrogramType(), optional=True
          ),
          "processed_signal_length": NeuralType(
              tuple("B"), LengthsType(), optional=True
          ),
          "sample_id": NeuralType(
              tuple("B"), LengthsType(), optional=True
          ),
      }
  
imports: import copy
  import json
  import os
  import tempfile
  from math import ceil
  from typing import Dict, List, Optional, Union
  import torch
  from omegaconf import DictConfig, OmegaConf, open_dict
  from pytorch_lightning import Trainer
  from tqdm.auto import tqdm
  from nemo.collections.asr.data import audio_to_text_dataset
  from nemo.collections.asr.data.audio_to_text_dali import AudioToCharDALIDataset, DALIOutputs
  from nemo.collections.asr.data.audio_to_text_lhotse import LhotseSpeechToTextBpeDataset
  from nemo.collections.asr.losses.ctc import CTCLoss
  from nemo.collections.asr.metrics.wer import WER
  from nemo.collections.asr.models.asr_model import ASRModel, ExportableEncDecModel
  from nemo.collections.asr.parts.mixins import ASRModuleMixin, InterCTCMixin
  from nemo.collections.asr.parts.submodules.ctc_decoding import CTCDecoding, CTCDecodingConfig
  from nemo.collections.asr.parts.utils.audio_utils import ChannelSelectorType
  from nemo.collections.common.data.lhotse import get_lhotse_dataloader_from_config
  from nemo.collections.common.parts.preprocessing.parsers import make_parser
  from nemo.core.classes.common import PretrainedModelInfo, typecheck
  from nemo.core.classes.mixins import AccessMixin
  from nemo.core.neural_types import AudioSignal, LabelsType, LengthsType, LogprobsType, NeuralType, SpectrogramType
  from nemo.utils import logging
label_desc: Use image node_id 9 for calling the EncDecCTCModel obj's underlying member method code with example usage: obj.input_types() and returns: dict