Commit 7cb3989c authored by ZHENQIN WU's avatar ZHENQIN WU
Browse files

temp save

parent 4afed22e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -793,7 +793,7 @@ class DiskDataset(Dataset):
        X, y, w, ids = (dataset.X, dataset.y, dataset.w, dataset.ids)
        yield (X, y, w, ids)

    return DiskDataset.create_dataset(generator(), data_dir=merge_dir)
    return DiskDataset.create_dataset(generator(), data_dir=merge_dir, tasks=datasets[0].tasks)

  def subset(self, shard_nums, subset_dir=None):
    """Creates a subset of the original dataset on disk."""
+34 −3
Original line number Diff line number Diff line
@@ -206,7 +206,7 @@ class GaussianProcessHyperparamOpt(HyperparamOpt):
              metric,
              self.model_class,
              hyper_parameters=hyper_parameters)
        return valid_scores[self.model_class][metric[0].name]
        score = valid_scores[self.model_class][metric[0].name]
      else:
        model_dir = tempfile.mkdtemp()
        model = self.model_class(hyper_parameters, model_dir)
@@ -214,7 +214,11 @@ class GaussianProcessHyperparamOpt(HyperparamOpt):
        model.save()
        evaluator = Evaluator(model, valid_dataset, output_transformers)
        multitask_scores = evaluator.compute_model_performance([metric])
        return multitask_scores[metric.name]
        score = multitask_scores[metric.name]
      if direction:
        return score
      else:
        return -score

    cov = pyGPGO_covfunc.matern32()
    gp = pyGPGO_surrogates_GaussianProcess.GaussianProcess(cov)
@@ -223,7 +227,6 @@ class GaussianProcessHyperparamOpt(HyperparamOpt):
    gpgo.run(max_iter=max_iter)

    hp_opt, valid_performance_opt = gpgo.getResult()

    # Readout best hyper parameters
    i = 0
    for hp in hp_list_single:
@@ -239,4 +242,32 @@ class GaussianProcessHyperparamOpt(HyperparamOpt):
        hyper_parameters[hp[0]] = map(int, hyper_parameters[hp[0]])
      i = i + hp[1]

    if isinstance(self.model_class, str) or isinstance(
        self.model_class, unicode):
      try:
        train_scores, valid_scores, _ = benchmark_classification(
            train_dataset,
            valid_dataset,
            valid_dataset, ['task_placeholder'] * n_tasks,
            output_transformers,
            n_features,
            metric,
            self.model_class,
            hyper_parameters=params_dict)
      except AssertionError:
        train_scores, valid_scores, _ = benchmark_regression(
            train_dataset,
            valid_dataset,
            valid_dataset, ['task_placeholder'] * n_tasks,
            output_transformers,
            n_features,
            metric,
            self.model_class,
            hyper_parameters=params_dict)
      score = valid_scores[self.model_class][metric[0].name]
      if not direction:
        score = -score
      if score > valid_performance_opt:
        return params_dict, score 
 
    return hyper_parameters, valid_performance_opt
+2 −0
Original line number Diff line number Diff line
@@ -56,6 +56,8 @@ class SingletaskToMultitask(Model):
  def _to_singletask(dataset, task_dirs):
    """Transforms a multitask dataset to a collection of singletask datasets."""
    tasks = dataset.get_task_names()
    print(tasks)
    print(task_dirs)
    assert len(tasks) == len(task_dirs)
    log("Splitting multitask dataset into singletask datasets", dataset.verbose)
    task_datasets = [
+2 −2
Original line number Diff line number Diff line
@@ -51,9 +51,9 @@ def load_qm9(featurizer='CoulombMatrix', split='random', reload=True):

  if featurizer in ['CoulombMatrix', 'BPSymmetryFunction', 'MP', 'Raw']:
    if featurizer == 'CoulombMatrix':
      featurizer = deepchem.feat.CoulombMatrix(26)
      featurizer = deepchem.feat.CoulombMatrix(29)
    elif featurizer == 'BPSymmetryFunction':
      featurizer = deepchem.feat.BPSymmetryFunction(26)
      featurizer = deepchem.feat.BPSymmetryFunction(29)
    elif featurizer == 'Raw':
      featurizer = deepchem.feat.RawFeaturizer()
    elif featurizer == 'MP':
+3 −3
Original line number Diff line number Diff line
@@ -458,9 +458,9 @@ class SingletaskStratifiedSplitter(Splitter):
    sortidx = np.argsort(y_s)

    split_cd = 10
    train_cutoff = int(frac_train * split_cd)
    valid_cutoff = int(frac_valid * split_cd) + train_cutoff
    test_cutoff = int(frac_test * split_cd) + valid_cutoff
    train_cutoff = int(np.round(frac_train * split_cd))
    valid_cutoff = int(np.round(frac_valid * split_cd)) + train_cutoff
    test_cutoff = int(np.round(frac_test * split_cd)) + valid_cutoff

    train_idx = np.array([])
    valid_idx = np.array([])
Loading