class_docstr: Generates trials to be passed to the TrialRunner.
  
  Uses the provided ``searcher`` object to generate trials. This class
  transparently handles repeating trials with score aggregation
  without embedding logic into the Searcher.
  
  Args:
      searcher: Search object that subclasses the Searcher base class. This
          is then used for generating new hyperparameter samples.
docstr: Restores self + searcher + search wrappers from dirpath.
docstr_tok: ["Restores","self","+","searcher","+","search","wrappers","from","dirpath","."]
code: def restore_from_dir(self, dirpath: str):
      """Restores self + searcher + search wrappers from dirpath."""
  
      searcher = self.searcher
      search_alg_state = _load_newest_checkpoint(
          dirpath, self.CKPT_FILE_TMPL.format("*")
      )
      if not search_alg_state:
          raise RuntimeError(
              "Unable to find checkpoint in {}.".format(dirpath)
          )
      while hasattr(searcher, "searcher"):
          searcher_name = "name:" + type(searcher).__name__
          if searcher_name not in search_alg_state:
              names = [
                  key.split("name:")[1]
                  for key in search_alg_state
                  if key.startswith("name:")
              ]
              logger.warning(
                  "{} was not found in the experiment checkpoint "
                  "state when restoring. Found {}.".format(
                      searcher_name, names
                  )
              )
          else:
              searcher.set_state(search_alg_state.pop(searcher_name))
          searcher = searcher.searcher
      base_searcher = searcher
  
      logger.debug(f"searching base {base_searcher}")
      base_searcher.restore_from_dir(dirpath)
      self.set_state(search_alg_state)
  
imports: import copy
  import logging
  from typing import Dict, List, Optional, Union
  from ray.tune.error import TuneError
  from ray.tune.experiment import Experiment, _convert_to_experiment_list
  from ray.tune.experiment.config_parser import _make_parser, _create_trial_from_spec
  from ray.tune.search.search_algorithm import SearchAlgorithm
  from ray.tune.search import Searcher
  from ray.tune.search.util import _set_search_properties_backwards_compatible
  from ray.tune.search.variant_generator import format_vars, _resolve_nested_dict
  from ray.tune.experiment import Trial
  from ray.tune.utils.util import flatten_dict, merge_dicts, _atomic_save, _load_newest_checkpoint
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 15 for calling the SearchGenerator obj's underlying member method code with example usage: obj.restore_from_dir(dirpath) without return types