code: def restore(self, trial, checkpoint=None):
          
          if checkpoint is None or checkpoint.value is None:
              checkpoint = trial._checkpoint
          if checkpoint is None or checkpoint.value is None:
              return True
          if trial.runner is None:
              logger.error("Unable to restore - no runner.")
              self.set_status(trial, Trial.ERROR)
              return False
          try:
              value = checkpoint.value
              if checkpoint.storage == Checkpoint.MEMORY:
                  assert type(value) != Checkpoint, type(value)
                  trial.runner.restore_from_object.remote(value)
              else:
                  worker_ip = ray.get(trial.runner.current_ip.remote())
                  trial.sync_logger_to_new_location(worker_ip)
                  with warn_if_slow("restore_from_disk"):
                      ray.get(trial.runner.restore.remote(value))
              trial.last_result = checkpoint.last_result
              return True
          except Exception:
              logger.exception("Error restoring runner for Trial %s.", trial)
              self.set_status(trial, Trial.ERROR)
              return False
docs: Restores training state from a given model checkpoint.
  
          This will also sync the trial results to a new location
          if restoring on a different node.