code: def test_non_default_checkpoint_interval(self):
      max_iterations = 5
      default_interval = 2
      # Train 5 iterations, and checkpoint every 2
      m = self.model.create(
          self.train,
          "target",
          validation_set=self.test,
          max_depth=2,
          random_seed=1,
          max_iterations=max_iterations,
          model_checkpoint_path=self.checkpoint_dir,
          model_checkpoint_interval=default_interval,
      )
      # Resume training checkpoint from iterations 2, 4
      for i in range(
          default_interval, max_iterations, default_interval
      ):
          checkpoint = os.path.join(
              self.checkpoint_dir, "model_checkpoint_%d" % i
          )
          m_resume = self.model.create(
              self.train,
              "target",
              validation_set=self.test,
              resume_from_checkpoint=checkpoint,
          )
          # Check the progress is the same as the reference model
          for col in m.progress.column_names():
              if col != "Elapsed Time":
                  self.assertListEqual(
                      list(m.progress[col]),
                      list(m_resume.progress[col]),
                  )
  
file_path: turicreate/src/python/turicreate/test/test_boosted_trees_checkpoint.py
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import unittest
  import turicreate
  import random
  import tempfile
  import os
  import shutil
label_desc: Use image node_id 5 for calling the BoostedTreesRegressionCheckpointTest obj's underlying member method code with example usage: obj.test_non_default_checkpoint_interval() without return types