code: def _generate_trials(self, experiment_spec, output_path=""):
          
          if "run" not in experiment_spec:
              raise TuneError("Must specify `run` in {}".format(experiment_spec))
          for _ in range(experiment_spec.get("num_samples", 1)):
              trial_id = Trial.generate_id()
              while True:
                  suggested_config = self._suggest(trial_id)
                  if suggested_config is None:
                      yield None
                  else:
                      break
              spec = copy.deepcopy(experiment_spec)
              spec["config"] = merge_dicts(spec["config"], suggested_config)
              flattened_config = resolve_nested_dict(spec["config"])
              self._counter += 1
              tag = "{0}_{1}".format(
                  str(self._counter), format_vars(flattened_config))
              yield create_trial_from_spec(
                  spec,
                  output_path,
                  self._parser,
                  experiment_tag=tag,
                  trial_id=trial_id)
docs: Generates trials with configurations from `_suggest`.
  
          Creates a trial_id that is passed into `_suggest`.
  
          Yields:
              Trial objects constructed according to `spec`