code: def test_save_restore_artifact(self, asr_model):
      asr_model.train()
  
      with tempfile.TemporaryDirectory() as tmp_dir:
          path = os.path.join(tmp_dir, "rnnt_bpe.nemo")
          asr_model.save_to(path)
  
          new_model = EncDecRNNTBPEModel.restore_from(path)
          assert isinstance(new_model, type(asr_model))
          assert new_model.vocab_path.endswith("_vocab.txt")
  
          assert len(new_model.tokenizer.tokenizer.get_vocab()) == 128
  
imports: import os
  import shutil
  import tempfile
  import pytest
  import torch
  from omegaconf import DictConfig
  from nemo.collections.asr.models import ASRModel
  from nemo.collections.asr.models.rnnt_bpe_models import EncDecRNNTBPEModel
  from nemo.collections.asr.parts.submodules import rnnt_beam_decoding
  from nemo.collections.asr.parts.submodules import rnnt_greedy_decoding
  from nemo.collections.common import tokenizers
  from nemo.core.utils import numba_utils
  from nemo.core.utils.numba_utils import __NUMBA_MINIMUM_VERSION__
label_desc: Use image node_id 3 for calling the TestEncDecRNNTBPEModel obj's underlying member method code with example usage: obj.test_save_restore_artifact(asr_model) without return types