Commit 003ba2ae authored by ZHENQIN WU's avatar ZHENQIN WU
Browse files

Benchmark

parent 5f295854
Loading
Loading
Loading
Loading
+26 −23
Original line number Diff line number Diff line
@@ -63,10 +63,10 @@ def benchmark_loading_datasets(base_dir_o, n_features = 1024,
      number of features, or length of binary fingerprints
  
  dataset_name, string, optional (default='all')
      choice of which dataset to use, 'all' means evaluating performance of all the datasets
      choice of which dataset to use, 'all' = computing all the datasets
      
  model string, optional (default='all')
      choice of which model to use, 'all' means running all models on the dataset
      choice of which model to use, 'all' = running all models on the dataset
  
  out_path, string, optional(default='/tmp')
      path of result file
@@ -97,12 +97,14 @@ def benchmark_loading_datasets(base_dir_o, n_features = 1024,
    #running model
    tox21_train,tox21_valid = benchmark_train_and_valid(base_dir,train_dataset,
                                                        valid_dataset,
                                                tasks_tox21,transformers_tox21,
                                                n_features, model, verbosity)
                                                        tasks_tox21,
							transformers_tox21,
                                              		n_features, model,
							verbosity)
    time_finish_running = time.time()
    #time_finish_running-time_finish_loading is the time(s) used for fitting and evaluating
        
    with open(out_path+'/results.csv','a') as f:
    with open(os.path.join(out_path,'results.csv'),'a') as f:
      f.write ('\n'+'tox21,train')
      for i in tox21_train:
        f.write(','+i+','+str(tox21_train[i])) #output train score
@@ -139,7 +141,7 @@ def benchmark_loading_datasets(base_dir_o, n_features = 1024,
                                                    n_features,model,verbosity)
    time_finish_running = time.time()
    
    with open(out_path+'/results.csv','a') as f:
    with open(os.path.join(out_path,'results.csv'),'a') as f:
      f.write ('\n'+'muv,train')
      for i in muv_train:
        f.write(','+i+','+str(muv_train[i]))
@@ -179,11 +181,13 @@ def benchmark_loading_datasets(base_dir_o, n_features = 1024,
    #running model
    pcba_train,pcba_valid = benchmark_train_and_valid(base_dir,train_dataset,
                            	                      valid_dataset,
                                                tasks_pcba,transformers_pcba,
                                                n_features, model, verbosity)
                                                      tasks_pcba,
						      transformers_pcba,
                                                      n_features, model,
						      verbosity)
    time_finish_running = time.time()

    with open(out_path+'/results.csv','a') as f:
    with open(os.path.join(out_path,'results.csv'),'a') as f:
      f.write ('\n'+'pcba,train')
      for i in pcba_train:
        f.write(','+i+','+str(pcba_train[i]))
@@ -226,7 +230,7 @@ def benchmark_loading_datasets(base_dir_o, n_features = 1024,
                                                    n_features,model,verbosity)
    time_finish_running = time.time()
    
    with open(out_path+'/results.csv','a') as f:
    with open(os.path.join(out_path,'results.csv'),'a') as f:
      f.write ('\n'+'nci,train')
      for i in nci_train:
        f.write(','+i+','+str(nci_train[i]))
@@ -271,7 +275,7 @@ def benchmark_train_and_valid(base_dir,train_dataset,valid_dataset,tasks,
      number of features, or length of binary fingerprints
  
  model, string, optional (default='all')
      choice of which model to use, 'all' means running all models on the dataset
      choice of which model to use, 'all' = running all models on the dataset
      
  """
  train_scores = {}
@@ -340,8 +344,7 @@ if __name__ == '__main__':
  verbosity = 'high'
  
  #Working folder initialization
  base_dir = "/tmp/benchmark_test_"+time.strftime(
                                                "%Y_%m_%d", time.localtime())
  base_dir = "/tmp/benchmark_test_"+time.strftime("%Y_%m_%d", time.localtime())
  if os.path.exists(base_dir):
    shutil.rmtree(base_dir)
  os.makedirs(base_dir)
+0 −18
Original line number Diff line number Diff line
@@ -91,22 +91,4 @@ def load_pcba(base_dir, reload=True, frac_train=.8):
    for transformer in transformers:
        transformer.transform(dataset)

  #print("About to perform train/valid/test split.")
  #num_train = int(frac_train * len(dataset))
  #X, y, w, ids = (dataset.X, dataset.y, dataset.w, dataset.ids)
  #num_tasks = 120
  #PCBA_tasks = PCBA_tasks[:num_tasks]
  #print("Using following tasks")
  #print(PCBA_tasks)
  #X_train, X_valid = X[:num_train], X[num_train:]
  #y_train, y_valid = y[:num_train, :num_tasks], y[num_train:, :num_tasks]
  #w_train, w_valid = w[:num_train, :num_tasks], w[num_train:, :num_tasks]
  #ids_train, ids_valid = ids[:num_train], ids[num_train:]

  #train_dataset = DiskDataset.from_numpy(train_dir, X_train, y_train,
  #                                   w_train, ids_train, PCBA_tasks)
  #valid_dataset = DiskDataset.from_numpy(valid_dir, X_valid, y_valid,
  #                                   w_valid, ids_valid, PCBA_tasks)

  
  return PCBA_tasks, dataset, transformers