class_docstr: Encoder decoder CTC-based models with Byte Pair Encoding.
docstr: This method returns a list of pre-trained model which can be instantiated directly from NVIDIA's NGC cloud.
  
  Returns:
      List of available pre-trained models.
docstr_tok: ["This","method","returns","a","list","of","pre-trained","model","which","can","be","instantiated","directly","from","NVIDIA","'s","NGC","cloud",".","Returns",":","List","of","available","pre-trained","models","."]
code: def list_available_models(cls) -> List[PretrainedModelInfo]:
      """
      This method returns a list of pre-trained model which can be instantiated directly from NVIDIA's NGC cloud.
  
      Returns:
          List of available pre-trained models.
      """
      results = []
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_citrinet_256",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_citrinet_256",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_citrinet_256/versions/1.0.0rc1/files/stt_en_citrinet_256.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_citrinet_512",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_citrinet_512",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_citrinet_512/versions/1.0.0rc1/files/stt_en_citrinet_512.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_citrinet_1024",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_citrinet_1024",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_citrinet_1024/versions/1.0.0rc1/files/stt_en_citrinet_1024.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_citrinet_256_gamma_0_25",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_citrinet_256_gamma_0_25",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_citrinet_256_gamma_0_25/versions/1.0.0/files/stt_en_citrinet_256_gamma_0_25.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_citrinet_512_gamma_0_25",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_citrinet_512_gamma_0_25",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_citrinet_512_gamma_0_25/versions/1.0.0/files/stt_en_citrinet_512_gamma_0_25.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_citrinet_1024_gamma_0_25",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_citrinet_1024_gamma_0_25",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_citrinet_1024_gamma_0_25/versions/1.0.0/files/stt_en_citrinet_1024_gamma_0_25.nemo",
      )
  
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_es_citrinet_512",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_es_citrinet_512",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_es_citrinet_512/versions/1.0.0/files/stt_es_citrinet_512.nemo",
      )
  
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_de_citrinet_1024",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_de_citrinet_1024",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_de_citrinet_1024/versions/1.5.0/files/stt_de_citrinet_1024.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_fr_citrinet_1024_gamma_0_25",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_fr_citrinet_1024_gamma_0_25",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_fr_citrinet_1024_gamma_0_25/versions/1.5/files/stt_fr_citrinet_1024_gamma_0_25.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_fr_no_hyphen_citrinet_1024_gamma_0_25",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_fr_citrinet_1024_gamma_0_25",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_fr_citrinet_1024_gamma_0_25/versions/1.5/files/stt_fr_no_hyphen_citrinet_1024_gamma_0_25.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_es_citrinet_1024_gamma_0_25",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_es_citrinet_1024_gamma_0_25",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_es_citrinet_1024_gamma_0_25/versions/1.8.0/files/stt_es_citrinet_1024_gamma_0_25.nemo",
      )
  
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_conformer_ctc_small",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_conformer_ctc_small",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_conformer_ctc_small/versions/1.6.0/files/stt_en_conformer_ctc_small.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_conformer_ctc_medium",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_conformer_ctc_medium",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_conformer_ctc_medium/versions/1.6.0/files/stt_en_conformer_ctc_medium.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_conformer_ctc_large/versions/1.10.0/files/stt_en_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_conformer_ctc_xlarge",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_conformer_ctc_xlarge",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_conformer_ctc_xlarge/versions/1.10.0/files/stt_en_conformer_ctc_xlarge.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_squeezeformer_ctc_xsmall_ls",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_en_squeezeformer_ctc_xsmall_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_squeezeformer_ctc_xsmall_ls/versions/1.13.0/files/stt_en_squeezeformer_ctc_xsmall_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_squeezeformer_ctc_small_ls",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_en_squeezeformer_ctc_small_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_squeezeformer_ctc_small_ls/versions/1.13.0/files/stt_en_squeezeformer_ctc_small_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_squeezeformer_ctc_small_medium_ls",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_en_squeezeformer_ctc_small_medium_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_squeezeformer_ctc_small_medium_ls/versions/1.13.0/files/stt_en_squeezeformer_ctc_small_medium_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_squeezeformer_ctc_medium_ls",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_en_squeezeformer_ctc_medium_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_squeezeformer_ctc_medium_ls/versions/1.13.0/files/stt_en_squeezeformer_ctc_medium_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_squeezeformer_ctc_medium_large_ls",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_en_squeezeformer_ctc_medium_large_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_squeezeformer_ctc_medium_large_ls/versions/1.13.0/files/stt_en_squeezeformer_ctc_medium_large_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_squeezeformer_ctc_large_ls",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_en_squeezeformer_ctc_large_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_squeezeformer_ctc_large_ls/versions/1.13.0/files/stt_en_squeezeformer_ctc_large_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_conformer_ctc_small_ls",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_conformer_ctc_small_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_conformer_ctc_small_ls/versions/1.0.0/files/stt_en_conformer_ctc_small_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_conformer_ctc_medium_ls",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_conformer_ctc_medium_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_conformer_ctc_medium_ls/versions/1.0.0/files/stt_en_conformer_ctc_medium_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_conformer_ctc_large_ls",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_conformer_ctc_large_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_conformer_ctc_large_ls/versions/1.0.0/files/stt_en_conformer_ctc_large_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_fr_conformer_ctc_large",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_fr_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_fr_conformer_ctc_large/versions/1.5.1/files/stt_fr_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_fr_no_hyphen_conformer_ctc_large",
          description="For details about this model, please visit https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/stt_fr_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_fr_conformer_ctc_large/versions/1.5.1/files/stt_fr_no_hyphen_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_de_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_de_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_de_conformer_ctc_large/versions/1.5.0/files/stt_de_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_es_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_es_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_es_conformer_ctc_large/versions/1.8.0/files/stt_es_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_hi_conformer_ctc_medium",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_hi_conformer_ctc_medium",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_hi_conformer_ctc_medium/versions/1.6.0/files/stt_hi_conformer_ctc_medium.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_mr_conformer_ctc_medium",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_mr_conformer_ctc_medium",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_mr_conformer_ctc_medium/versions/1.6.0/files/stt_mr_conformer_ctc_medium.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_enes_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_enes_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_enes_conformer_ctc_large/versions/1.0.0/files/stt_enes_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_ca_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_ca_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_ca_conformer_ctc_large/versions/1.11.0/files/stt_ca_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_rw_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_rw_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_rw_conformer_ctc_large/versions/1.11.0/files/stt_rw_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_enes_conformer_ctc_large_codesw",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_enes_conformer_ctc_large_codesw",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_enes_conformer_ctc_large_codesw/versions/1.0.0/files/stt_enes_conformer_ctc_large_codesw.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_be_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_be_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_be_conformer_ctc_large/versions/1.12.0/files/stt_be_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_hr_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_hr_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_hr_conformer_ctc_large/versions/1.11.0/files/stt_hr_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_it_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_it_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_it_conformer_ctc_large/versions/1.13.0/files/stt_it_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_ru_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_ru_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_ru_conformer_ctc_large/versions/1.13.0/files/stt_ru_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_eo_conformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_eo_conformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_eo_conformer_ctc_large/versions/1.14.0/files/stt_eo_conformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_fastconformer_ctc_large",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_fastconformer_ctc_large",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_fastconformer_ctc_large/versions/1.0.0/files/stt_en_fastconformer_ctc_large.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_fastconformer_ctc_large_ls",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_fastconformer_ctc_large_ls",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_fastconformer_ctc_large_ls/versions/1.0.0/files/stt_en_fastconformer_ctc_large_ls.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_fastconformer_ctc_xlarge",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_fastconformer_ctc_xlarge",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_fastconformer_ctc_xlarge/versions/1.20.0/files/stt_en_fastconformer_ctc_xlarge.nemo",
      )
      results.append(model)
  
      model = PretrainedModelInfo(
          pretrained_model_name="stt_en_fastconformer_ctc_xxlarge",
          description="For details about this model, please visit https://ngc.nvidia.com/catalog/models/nvidia:nemo:stt_en_fastconformer_ctc_xxlarge",
          location="https://api.ngc.nvidia.com/v2/models/nvidia/nemo/stt_en_fastconformer_ctc_xxlarge/versions/1.20.1/files/stt_en_fastconformer_ctc_xxlarge.nemo",
      )
      results.append(model)
  
      return results
  
imports: import copy
  import os
  from typing import Dict, List, Optional, Union
  import torch
  from omegaconf import DictConfig, ListConfig, OmegaConf, open_dict
  from nemo.collections.asr.data import audio_to_text_dataset
  from nemo.collections.asr.data.audio_to_text_dali import AudioToBPEDALIDataset
  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.ctc_models import EncDecCTCModel
  from nemo.collections.asr.parts.mixins import ASRBPEMixin
  from nemo.collections.asr.parts.submodules.ctc_decoding import CTCBPEDecoding, CTCBPEDecodingConfig
  from nemo.collections.common.data.lhotse import get_lhotse_dataloader_from_config
  from nemo.core.classes.common import PretrainedModelInfo
  from nemo.utils import logging, model_utils
label_desc: Use image node_id 6 for calling the EncDecCTCModelBPE obj's underlying member method code with example usage: obj.list_available_models(cls) and returns: results