code: def on_evaluate_start(self, max_key=None, min_key=None):
      self.checkpointer.recover_if_possible(
          max_key=max_key, min_key=min_key
      )
      checkpoints = self.checkpointer.find_checkpoints(
          min_key=min_key,
          max_key=max_key,
          max_num_checkpoints=self.hparams.checkpoint_avg,
      )
      for model in self.modules:
          if (
              model not in self.hparams.frozen_models
              or hasattr(self.hparams, "unfrozen_models")
              and model in self.hparams.unfrozen_models
          ):
              model_state_dict = (
                  sb.utils.checkpoints.average_checkpoints(
                      checkpoints, model
                  )
              )
              self.modules[model].load_state_dict(model_state_dict)
  
imports: import os
  import sys
  import csv
  import logging
  import numpy
  from tqdm import tqdm
  from pesq import pesq
  from pystoi import stoi
  import torch
  import torchaudio
  import torch.nn.functional
  import speechbrain
  from hyperpyyaml import load_hyperpyyaml
  from speechbrain.utils.metric_stats import MetricStats
  from speechbrain.utils.distributed import run_on_main
  from speechbrain.utils.data_utils import undo_padding
label_desc: Use image node_id 8 for calling the ASR obj's underlying member method code with example usage: obj.on_evaluate_start(max_key, min_key) without return types