code: def test_real_model_save_load_from_pretrained(self):
      model_2, inputs = self.get_pretrained_model_and_inputs()
      model_2.to(torch_device)
  
      with torch.no_grad():
          outputs = model_2(**inputs)
          out_2 = outputs[0].cpu().numpy()
          out_2[np.isnan(out_2)] = 0
  
          with tempfile.TemporaryDirectory() as tmp_dirname:
              model_2.save_pretrained(tmp_dirname)
              model_1 = SpeechEncoderDecoderModel.from_pretrained(
                  tmp_dirname
              )
              model_1.to(torch_device)
  
              after_outputs = model_1(**inputs)
              out_1 = after_outputs[0].cpu().numpy()
              out_1[np.isnan(out_1)] = 0
              max_diff = np.amax(np.abs(out_1 - out_2))
              self.assertLessEqual(max_diff, 1e-5)
  
imports: import tempfile
  import unittest
  from transformers import is_torch_available
  from transformers.testing_utils import require_torch, slow, torch_device
  from ...test_modeling_common import floats_tensor, ids_tensor, random_attention_mask
  from ..bert.test_modeling_bert import BertModelTester
  from ..speech_to_text.test_modeling_speech_to_text import Speech2TextModelTester
  from ..speech_to_text_2.test_modeling_speech_to_text_2 import Speech2Text2StandaloneDecoderModelTester
  from ..wav2vec2.test_modeling_wav2vec2 import Wav2Vec2ModelTester
label_desc: Use image node_id 22 for calling the EncoderDecoderMixin obj's underlying member method code with example usage: obj.test_real_model_save_load_from_pretrained() without return types