code: def test_save_each(self, tmp_path, wordvec_pretrain_file):
      extra_args = ["--save_each"]
      trainer = self.run_training(
          tmp_path,
          wordvec_pretrain_file,
          TRAIN_DATA,
          DEV_DATA,
          extra_args=extra_args,
      )
      save_each_name = tagger.save_each_file_name(trainer.args)
      expected_models = sorted(
          set(
              [
                  save_each_name % i
                  for i in range(
                      0,
                      trainer.args["max_steps"] + 1,
                      trainer.args["eval_interval"],
                  )
              ]
          )
      )
      assert len(expected_models) == 6
      for model_name in expected_models:
          assert os.path.exists(model_name)
  
imports: import os
  import pytest
  import torch
  from stanza.models import tagger
  from stanza.models.common import pretrain
  from stanza.models.pos.trainer import Trainer
  from stanza.tests import TEST_WORKING_DIR, TEST_MODELS_DIR
  from stanza.utils.training.common import choose_pos_charlm, build_charlm_args
label_desc: Use image node_id 12 for calling the TestTagger obj's underlying member method code with example usage: obj.test_save_each(tmp_path, wordvec_pretrain_file) without return types