code: def test_training_load_best_model_at_end_fusion(self):
      tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
      data_args = GlueDataTrainingArguments(
          task_name="mrpc",
          data_dir="./hf_transformers/tests/fixtures/tests_samples/MRPC",
          overwrite_cache=True,
      )
      train_dataset = GlueDataset(
          data_args, tokenizer=tokenizer, mode="train"
      )
      eval_dataset = GlueDataset(
          data_args, tokenizer=tokenizer, mode="dev"
      )
  
      model = AutoModelForSequenceClassification.from_config(
          self.get_model_config()
      )
      adapters.init(model)
      model.add_adapter("fuse_adapter_1")
      model.add_adapter("fuse_adapter_2")
      model.add_adapter_fusion(Fuse("fuse_adapter_1", "fuse_adapter_2"))
      model.train_adapter_fusion(
          Fuse("fuse_adapter_1", "fuse_adapter_2")
      )
  
      with TemporaryDirectory() as tmpdirname:
          training_args = TrainingArguments(
              output_dir=tmpdirname,
              do_train=True,
              learning_rate=0.001,
              max_steps=1,
              save_steps=1,
              remove_unused_columns=False,
              load_best_model_at_end=True,
              evaluation_strategy="epoch",
              save_strategy="epoch",
              num_train_epochs=2,
          )
          trainer = AdapterTrainer(
              model=model,
              args=training_args,
              train_dataset=train_dataset,
              eval_dataset=eval_dataset,
          )
          with self.assertLogs(logger) as cm:
              trainer.train()
              self.assertTrue(
                  any(
                      "Loading best adapter fusion(s) from" in line
                      for line in cm.output
                  )
              )
          self.assertEqual(
              Fuse("fuse_adapter_1", "fuse_adapter_2"),
              trainer.model.active_adapters,
          )
  
imports: import os
  import unittest
  from tempfile import TemporaryDirectory
  import torch
  import adapters
  from adapters import AutoAdapterModel
  from adapters.composition import Fuse, Stack
  from adapters.trainer import AdapterTrainer, logger
  from transformers import AutoModelForSequenceClassification, AutoTokenizer, BertConfig, BertForSequenceClassification, GlueDataset, GlueDataTrainingArguments, Trainer, TrainingArguments
  from transformers.testing_utils import require_ray, slow
label_desc: Use image node_id 8 for calling the TestAdapterTrainer obj's underlying member method code with example usage: obj.test_training_load_best_model_at_end_fusion() without return types