code: def test_load_full_model_fusion(self):
      model1 = self.get_model()
      model1.eval()
  
      name1 = "name1"
      name2 = "name2"
      model1.add_adapter(name1)
      model1.add_adapter(name2)
      model1.add_adapter_fusion([name1, name2])
      # save & reload model
      with tempfile.TemporaryDirectory() as temp_dir:
          model1.save_pretrained(temp_dir)
  
          model2 = load_model(temp_dir, self.model_class)
  
      # check if AdapterFusion was correctly loaded
      self.assertTrue(
          model1.adapters_config.fusions
          == model2.adapters_config.fusions
      )
  
      # check equal output
      input_data = self.get_input_samples(config=model1.config)
      model1.set_active_adapters([[name1, name2]])
      model2.set_active_adapters([[name1, name2]])
      model1.to(torch_device)
      model2.to(torch_device)
      output1 = model1(**input_data)
      output2 = model2(**input_data)
      self.assertEqual(len(output1), len(output2))
      self.assertTrue(torch.equal(output1[0], output2[0]))
  
file_path: adapters/tests/test_adapter_fusion_common.py
imports: import copy
  import os
  import tempfile
  from dataclasses import asdict
  import torch
  from adapters import ADAPTER_MODEL_MAPPING, ADAPTERFUSION_CONFIG_MAP, AdapterConfig, AutoAdapterModel, SeqBnConfig
  from adapters.composition import Fuse
  from adapters.utils import ADAPTERFUSION_WEIGHTS_NAME
  from adapters.wrappers import load_model
  from transformers.testing_utils import require_torch, torch_device
label_desc: Use image node_id 5 for calling the AdapterFusionModelTestMixin obj's underlying member method code with example usage: obj.test_load_full_model_fusion() without return types