code: def save_to_object(self):
          
  
          tmpdir = tempfile.mkdtemp("save_to_object", dir=self.logdir)
          checkpoint_prefix = self.save(tmpdir)
  
          data = {}
          base_dir = os.path.dirname(checkpoint_prefix)
          for path in os.listdir(base_dir):
              path = os.path.join(base_dir, path)
              if path.startswith(checkpoint_prefix):
                  with open(path, "rb") as f:
                      data[os.path.basename(path)] = f.read()
  
          out = io.BytesIO()
          data_dict = pickle.dumps({
              "checkpoint_name": os.path.basename(checkpoint_prefix),
              "data": data,
          })
          if len(data_dict) > 10e6:  # getting pretty large
              logger.info("Checkpoint size is {} bytes".format(len(data_dict)))
          out.write(data_dict)
  
          shutil.rmtree(tmpdir)
          return out.getvalue()
docs: Saves the current model state to a Python object. It also
          saves to disk but does not return the checkpoint path.
  
          Returns:
              Object holding checkpoint data.