class_docstr: The G2P model evaluation wrapper
  
  Arguments
  ---------
  hparams: dict
      the dictionary from a parsed hyperparameter file
  device: str
      the device identifier
  model_state: dict
      a pre-loaded model state for a "warm start" if applicable
      - could be useful if hyperparameters have changed, but
      the same model can be reused from one run to the next
code: def _output_wer_file(self):
      with open(self.hparams.eval_wer_file, "w") as w:
          w.write("\nPER stats:\n")
          self.per_metrics.write_stats(w)
          print(
              "seq2seq, and PER stats written to file",
              self.hparams.eval_wer_file,
          )
  
imports: from hyperpyyaml import load_hyperpyyaml
  from speechbrain.dataio.batch import PaddedBatch
  from speechbrain.lobes.models.g2p.dataio import get_sequence_key
  from speechbrain.utils import hpopt
  from speechbrain.wordemb.util import expand_to_chars
  from train import dataio_prep, load_dependencies
  from types import SimpleNamespace
  from tqdm.auto import tqdm
  import math
  import itertools
  import speechbrain
  import torch
  import sys
  import logging
label_desc: Use image node_id 14 for calling the G2PEvaluator obj's underlying member method code with example usage: obj._output_wer_file() without return types