code: def test_tcn_save_load(self):
      train_data, test_data = create_data()
      model = model_creator(
          config={
              "past_seq_len": 20,
              "future_seq_len": 10,
              "input_feature_num": 10,
              "output_feature_num": 2,
          }
      )
      model.fit(
          train_data[0],
          train_data[1],
          epochs=2,
          validation_data=test_data,
      )
      with tempfile.TemporaryDirectory() as tmp_dir_name:
          model.save(tmp_dir_name)
          restore_model = tf.keras.models.load_model(
              tmp_dir_name,
              custom_objects={
                  "TemporalConvNet": TemporalConvNet,
                  "TemporalBlock": TemporalBlock,
              },
          )
      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_TemporalConvNet = TemporalConvNet(
          past_seq_len=20,
          future_seq_len=10,
          input_feature_num=10,
          output_feature_num=2,
      ).__class__
      assert isinstance(restore_model, temp_TemporalConvNet)
  
file_path: BigDL/python/chronos/test/bigdl/chronos/model/tf2/test_tcn_keras.py
imports: import tempfile
  import numpy
  import pytest
  from ...None import op_tf2
  from unittest import TestCase
  from bigdl.chronos.utils import LazyImport
label_desc: Use image node_id 4 for calling the TestTcnKeras obj's underlying member method code with example usage: obj.test_tcn_save_load() without return types