code: def test_seq2seq_save_load(self):
      train_data, test_data = create_data()
      model = model_creator(
          config={
              "input_feature_num": 10,
              "output_feature_num": 2,
              "future_seq_len": test_data[-1].shape[1],
              "lstm_hidden_dim": 32,
          }
      )
      model.fit(
          train_data[0],
          train_data[1],
          epochs=2,
          validation_data=test_data,
      )
      with tempfile.TemporaryDirectory() as tmp_dir_file:
          model.save(tmp_dir_file)
          import keras
  
          restore_model = keras.models.load_model(
              tmp_dir_file, custom_objects={"LSTMSeq2Seq": LSTMSeq2Seq}
          )
      model_res = model.evaluate(test_data[0], test_data[1])
      restore_model_res = restore_model.evaluate(
          test_data[0], test_data[1]
      )
      np.testing.assert_almost_equal(
          model_res, restore_model_res, decimal=5
      )
      temp_LSTMSeq2Seq = LSTMSeq2Seq(
          input_feature_num=10,
          output_feature_num=2,
          future_seq_len=test_data[-1].shape[1],
          lstm_hidden_dim=32,
      ).__class__
      assert isinstance(restore_model, temp_LSTMSeq2Seq)
  
file_path: BigDL/python/chronos/test/bigdl/chronos/model/tf2/test_Seq2Seq_keras.py
imports: import tempfile
  import pytest
  from unittest import TestCase
  import numpy
  from ...None import op_tf2
  from bigdl.chronos.utils import LazyImport
label_desc: Use image node_id 4 for calling the TestSeq2Seq obj's underlying member method code with example usage: obj.test_seq2seq_save_load() without return types