code: def test_vocab_change(self, speech_classification_model):
      asr_model = speech_classification_model.train()
  
      old_labels = copy.deepcopy(asr_model._cfg.labels)
      nw1 = asr_model.num_weights
      asr_model.change_labels(new_labels=old_labels)
      # No change
      assert nw1 == asr_model.num_weights
      new_labels = copy.deepcopy(old_labels)
      new_labels.append("dummy_cls_31")
      new_labels.append("dummy_cls_32")
      new_labels.append("dummy_cls_33")
      asr_model.change_labels(new_labels=new_labels)
      # fully connected + bias
      assert asr_model.num_weights == nw1 + 3 * (
          asr_model.decoder._feat_in + 1
      )
  
imports: import copy
  import os
  import pytest
  import torch
  from omegaconf import DictConfig, ListConfig
  from nemo.collections.asr.data import audio_to_label
  from nemo.collections.asr.models import EncDecClassificationModel, EncDecFrameClassificationModel, configs
  from nemo.utils.config_utils import assert_dataclass_signature_match
label_desc: Use image node_id 3 for calling the TestEncDecClassificationModel obj's underlying member method code with example usage: obj.test_vocab_change(speech_classification_model) without return types