code: def test_NNClassifierModel_save_load(self):
      model = Sequential().add(Linear(2, 2))
      criterion = ClassNLLCriterion()
      classifier = (
          NNClassifier(model, criterion, [2])
          .setMaxEpoch(1)
          .setBatchSize(4)
      )
  
      df = self.get_classifier_df()
      nnClassifierModel = classifier.fit(df)
      try:
          tmp_dir = tempfile.mkdtemp()
          modelPath = os.path.join(tmp_dir, "model")
          nnClassifierModel.save(modelPath)
          loaded_model = NNClassifierModel.load(modelPath)
          assert isinstance(loaded_model, NNClassifierModel)
          assert loaded_model.transform(df).count() == 4
      finally:
          try:
              shutil.rmtree(tmp_dir)  # delete directory
          except OSError as exc:
              if (
                  exc.errno != errno.ENOENT
              ):  # ENOENT - no such file or directory
                  raise
  
imports: import errno
  import shutil
  import pytest
  from bigdl.dllib.nn.criterion import *
  from bigdl.dllib.nn.layer import *
  from bigdl.dllib.optim.optimizer import *
  from numpy.testing import assert_allclose
  from pyspark.ml import Pipeline, PipelineModel
  from pyspark.ml.feature import MinMaxScaler
  from pyspark.ml.tuning import ParamGridBuilder
  from pyspark.sql.types import *
  from bigdl.dllib.nncontext import *
  from bigdl.dllib.feature.common import *
  from bigdl.dllib.feature.image import *
  from bigdl.dllib.keras import layers
  from bigdl.dllib.keras.models import Model
  from bigdl.dllib.keras.optimizers import Adam
  from bigdl.dllib.nnframes import *
  from bigdl.dllib.utils.tf import *
  from pyspark.sql.functions import array
  from pyspark.ml.linalg import DenseVector, VectorUDT
  from pyspark.sql.functions import udf, array
label_desc: Use image node_id 35 for calling the TestNNClassifer obj's underlying member method code with example usage: obj.test_NNClassifierModel_save_load() without return types