code: def save_model_at_the_end(self, **kw):
      # saves the model with full vocab as checkpoints etc were created with reduced vocab.
      if self.disabled:
          return
  
      if (self.base_path / "best-model.pt").exists():
          self.model.save(
              self.base_path / "best-model.pt",
              checkpoint=self.save_optimizer_state,
          )
      elif (self.base_path / "final-model.pt").exists():
          self.model.save(
              self.base_path / "final-model.pt",
              checkpoint=self.save_optimizer_state,
          )
  
file_path: flair/flair/trainers/plugins/functional/reduce_transformer_vocab.py
imports: import logging
  from pathlib import Path
  from typing import List
  from transformer_smaller_training_vocab import reduce_train_vocab
  from flair.embeddings import Embeddings, StackedEmbeddings, TransformerEmbeddings
  from flair.models import FewshotClassifier
  from flair.nn import Model
  from flair.nn.model import ReduceTransformerVocabMixin
  from flair.trainers.plugins import TrainerPlugin
label_desc: Use image node_id 3 for calling the ReduceTransformerVocabPlugin obj's underlying member method code with example usage: obj.save_model_at_the_end() without return types