code: def test_NNEstimator_checkpoint(self):
      model = Sequential().add(Linear(2, 2))
      criterion = MSECriterion()
      df = self.get_estimator_df()
      try:
          tmp_dir = tempfile.mkdtemp()
          estimator = (
              NNEstimator(model, criterion)
              .setMaxEpoch(5)
              .setBatchSize(4)
              .setCheckpoint(tmp_dir, EveryEpoch(), False)
          )
  
          checkpoint_config = estimator.getCheckpoint()
          assert checkpoint_config[0] == tmp_dir
          assert "EveryEpoch" in str(checkpoint_config)
          assert checkpoint_config[2] is False
  
          estimator.fit(df)
          assert len(os.listdir(tmp_dir)) > 0
      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.nn.criterion import *
  from bigdl.nn.layer import *
  from bigdl.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 zoo.common.nncontext import *
  from zoo.feature.common import *
  from zoo.feature.image import *
  from zoo.pipeline.api.keras import layers
  from zoo.pipeline.api.keras.models import Model
  from zoo.pipeline.api.keras.optimizers import Adam
  from zoo.pipeline.nnframes import *
  from zoo.util.tf import *
label_desc: Use image node_id 19 for calling the TestNNClassifer obj's underlying member method code with example usage: obj.test_NNEstimator_checkpoint() without return types