Commit 295d6ff3 authored by unknown's avatar unknown
Browse files

small changes

parent bd53b55f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -274,6 +274,9 @@ Scaffold splitting
|           |graphconv regression|Random      |0.996         |0.873         |
|           |MT-NN regression    |Scaffold    |0.782         |0.426         |
|           |graphconv regression|Scaffold    |0.994         |0.606         |
|nci        |MT-NN regression    |Index       |0.890         |0.890         |
|           |MT-NN regression    |Random      |0.891         |0.888         |
|           |MT-NN regression    |Scaffold    |0.912         |0.020         |
|kaggle     |MT-NN regression    |User-defined|0.748         |0.452         |

* General features
@@ -289,6 +292,7 @@ Number of tasks and examples in the datasets
|toxcast    |617        |8615       |
|delaney    |1          |1128       |
|kaggle     |15         |173065     |
|nci        |60         |1057371    |

Time needed for benchmark test(~20h in total)

@@ -315,6 +319,8 @@ Time needed for benchmark test(~20h in total)
|           |robust MT-NN        |80              |4000           |
|           |graph convolution   |80              |900            |
|delaney    |MT-NN regression    |10              |40             |
|           |graphconv regression|10              |40             |
|nci        |MT-NN regression    |2000            |30000          |
|kaggle     |MT-NN regression    |2200            |3200           |


+5 −5
Original line number Diff line number Diff line
@@ -21,9 +21,9 @@ class MultitaskGraphRegressor(Model):
  def __init__(self, sess, model, n_tasks, logdir=None, batch_size=50,
               final_loss='weighted_L2', learning_rate=.001,
               optimizer_type="adam", learning_rate_decay_time=1000,
               beta1=.9, beta2=.999, verbosity=None):
               beta1=.9, beta2=.999, verbose=True):

    self.verbosity = verbosity
    self.verbose = verbose
    self.sess = sess
    self.n_tasks = n_tasks
    self.final_loss = final_loss
@@ -148,15 +148,15 @@ class MultitaskGraphRegressor(Model):
  def fit(self, dataset, nb_epoch=10, 
          max_checkpoints_to_keep=5, log_every_N_batches=50, **kwargs):
    # Perform the optimization
    log("Training for %d epochs" % nb_epoch, self.verbosity)
    log("Training for %d epochs" % nb_epoch, self.verbose)
  
    # TODO(rbharath): Disabling saving for now to try to debug.
    for epoch in range(nb_epoch):
      log("Starting epoch %d" % epoch, self.verbosity)
      log("Starting epoch %d" % epoch, self.verbose)
      for batch_num, (X_b, y_b, w_b, ids_b) in enumerate(dataset.iterbatches(
          self.batch_size, pad_batches=True)):
        if batch_num % log_every_N_batches == 0:
          log("On batch %d" % batch_num, self.verbosity)
          log("On batch %d" % batch_num, self.verbose)
        self.sess.run(
            self.train_op,
            feed_dict=self.construct_feed_dict(X_b, y_b, w_b))
+16 −13
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import deepchem as dc
import tensorflow as tf
import argparse
from keras import backend as K
import csv

from sklearn.ensemble import RandomForestClassifier

@@ -135,23 +136,25 @@ def benchmark_loading_datasets(hyper_parameters,
          model=model)  
    time_finish_fitting = time.time()
    
    with open(os.path.join(out_path, 'results.csv'),'a') as f:
      f.write('\n'+str(count)+',')
      f.write(dataset+','+str(split)+','+mode+',train,')
    
    with open(os.path.join(out_path, 'results.csv'),'ab') as f:
      writer = csv.writer(f)
      if mode == 'classification':
        for i in train_score:
          f.write(i+','+str(train_score[i]['mean-roc_auc_score'])+',')
        f.write('valid,')
        for i in valid_score:
          f.write(i+','+str(valid_score[i]['mean-roc_auc_score'])+',')
          output_line = [count, dataset, str(split), mode, 'train', i, 
                         train_score[i]['mean-roc_auc_score'], 'valid', i, 
                         valid_score[i]['mean-roc_auc_score'],
                         'time_for_running',
                         time_finish_fitting-time_start_fitting]
          writer.writerow(output_line)
      else:
        for i in train_score:
          f.write(i+','+str(train_score[i]['mean-pearson_r2_score'])+',')
        f.write('valid,')
        for i in valid_score:
          f.write(i+','+str(valid_score[i]['mean-pearson_r2_score'])+',')
      f.write('time_for_running,'+
              str(time_finish_fitting-time_start_fitting)+',')
          output_line = [count, dataset, str(split), mode, 'train', i, 
                         train_score[i]['mean-pearson_r2_score'], 'valid', i, 
                         valid_score[i]['mean-pearson_r2_score'], 
                         'time_for_running',
                         time_finish_fitting-time_start_fitting]
          writer.writerow(output_line)

def benchmark_classification(train_dataset, valid_dataset, tasks,
                             transformers, hyper_parameters,