code: def test_two_tag_training_c2_backprop(pretrain_file, tmp_path):
      """
      Test that the training is backproping only one tag if one column is blank
  
      We can do this by using the "finetune" mechanism and verifying
      that the output tensors are different in just the first column
      """
      trainer = run_two_tag_training(pretrain_file, tmp_path)
  
      # first, need to save the final model before restarting
      # (alternatively, could reload the final checkpoint)
      trainer.save(
          os.path.join(
              trainer.args["save_dir"], trainer.args["save_name"]
          )
      )
      new_trainer = run_two_tag_training(
          pretrain_file,
          tmp_path,
          "--finetune",
          train_data=EN_TRAIN_2TAG_EMPTY2,
      )
  
      assert len(trainer.model.tag_clfs) == 2
      assert len(new_trainer.model.tag_clfs) == 2
      assert not torch.allclose(
          trainer.model.tag_clfs[0].weight,
          new_trainer.model.tag_clfs[0].weight,
      )
      assert torch.allclose(
          trainer.model.tag_clfs[1].weight,
          new_trainer.model.tag_clfs[1].weight,
      )
  
imports: import json
  import logging
  import os
  import warnings
  import pytest
  import torch
  from stanza.models import ner_tagger
  from stanza.models.ner.trainer import Trainer
  from stanza.tests import TEST_WORKING_DIR
  from stanza.utils.datasets.ner.prepare_ner_file import process_dataset
label_desc: Use image node_id 8 for calling a global function with example usage: test_two_tag_training_c2_backprop(pretrain_file, tmp_path) without return types