code: def assert_tfpark_model_save_load(
      self, model, input_data, rtol=1e-6, atol=1e-6
  ):
      model_class = model.__class__
      tmp_path = create_tmp_path() + ".h5"
      model.save_model(tmp_path)
      loaded_model = model_class.load_model(tmp_path)
      assert isinstance(loaded_model, model_class)
      # Calling predict will remove the impact of dropout.
      output1 = model.predict(input_data)
      output2 = loaded_model.predict(input_data, distributed=True)
      if isinstance(output1, list):
          self.assert_list_allclose(output1, output2, rtol, atol)
      else:
          self.assert_allclose(output1, output2, rtol, atol)
      os.remove(tmp_path)
  
imports: from __future__ import print_function
  import logging
  import shutil
  from unittest import TestCase
  import keras.backend
  from zoo.common.nncontext import *
  from zoo.feature.image import ImageSet
label_desc: Use image node_id 11 for calling the ZooTestCase obj's underlying member method code with example usage: obj.assert_tfpark_model_save_load(model, input_data, rtol, atol) without return types