code: def eval_test_use_recipe_dataio(
      encoder_decoder_asr,
      test_set,
      test_kwargs,
      reporter,
      single_node=False,
  ):
      """Bypassing speechbrain.inference.interfaces.Pretrained.load_audio with recipe dataio (speechbrain.dataio.dataio.read_audio).
  
      Parameters
      ----------
      encoder_decoder_asr: speechbrain.inference.ASR.EncoderDecoderASR
          Pretrained interface (other interfaces will require other functions to be called; this is an example).
      test_set: dict
          Data loader options for testing.
      test_kwargs: dict
          Data loader options for testing.
      reporter: dict
          Maps metric labels to performance trackers (instances) which need summarise certain fields for final reporting.
      single_node: bool
          Flag for whether/not DDP-gather results (Default: False).
      """
      if "ckpt_prefix" in test_kwargs:
          del test_kwargs["ckpt_prefix"]
      if not (
          isinstance(test_set, DataLoader)
          or isinstance(test_set, LoopedLoader)
      ):
          test_set = make_dataloader(test_set, **test_kwargs)
  
      with torch.no_grad():
          for batch in tqdm(
              test_set, dynamic_ncols=True, disable=False
          ):
              batch = batch.to(encoder_decoder_asr.device)
              predictions = encoder_decoder_asr.transcribe_batch(
                  *batch.sig
              )
  
              # prepare for metric reporting
              predicted = [wrd.split(" ") for wrd in predictions[0]]
              targeted = [wrd.split(" ") for wrd in batch.words]
              ids = batch.id
              for metric in reporter.keys():
                  reporter[metric]["tracker"].append(
                      ids=ids, predict=predicted, target=targeted
                  )
  
          # Report summary
          eval_reporting(reports=reporter, single_node=single_node)
  
imports: import os
  import sys
  import torch
  import logging
  import speechbrain
  from copy import deepcopy
  from tqdm.contrib import tqdm
  from torch.utils.data import DataLoader
  from hyperpyyaml import load_hyperpyyaml
  from speechbrain.inference.ASR import EncoderDecoderASR
  from speechbrain.utils.distributed import run_on_main, ddp_barrier
  from speechbrain.utils.data_utils import batch_pad_right
  from speechbrain.dataio.dataset import DynamicItemDataset
  from speechbrain.dataio.sampler import DynamicBatchSampler
  from speechbrain.dataio.dataloader import LoopedLoader, make_dataloader, distributed_loader_specifics
  from speechbrain.dataio.dataio import read_audio
  from ASR_template_train import ASR, dataio_prepare
label_desc: Use image node_id 2 for calling a global function with example usage: eval_test_use_recipe_dataio(encoder_decoder_asr, test_set, test_kwargs, reporter, single_node) without return types