code: def run_evaluation(model_name, tinygrad_expected_wer, reference_wer):
      dataset = LibriSpeech()
      batch_size = 16
      loader = torch.utils.data.DataLoader(
          dataset, batch_size=batch_size
      )
  
      model, enc = init_whisper(model_name, batch_size=batch_size)
  
      hypotheses = []
      references = []
  
      for audio, texts in tqdm.tqdm(loader):
          transcriptions = transcribe_waveform(
              model, enc, audio.numpy(), truncate=True
          )
          hypotheses.extend(transcriptions)
          references.extend(texts)
  
      normalizer = EnglishTextNormalizer()
      normalized_hypotheses = [normalizer(text) for text in hypotheses]
      normalized_references = [normalizer(text) for text in references]
      wer = jiwer.wer(normalized_hypotheses, normalized_references)
  
      np.testing.assert_almost_equal(wer, tinygrad_expected_wer)
      print(f"tinygrad WER {wer} vs reference WER {reference_wer}")
      del model, enc
  
imports: import unittest
  import torch
  import tqdm
  import torchaudio
  import pathlib
  import jiwer
  import os
  import numpy
  from whisper.normalizers import EnglishTextNormalizer
  from examples.whisper import init_whisper, transcribe_waveform
label_desc: Use image node_id 1 for calling a global function with example usage: run_evaluation(model_name, tinygrad_expected_wer, reference_wer) without return types