Commit 95d32dfc authored by hsjang001205's avatar hsjang001205
Browse files

DAG_reload

parent e5827cc9
Loading
Loading
Loading
Loading
+119 −269

File changed.

Preview size limit exceeded, changes collapsed.

+164 −153
Original line number Diff line number Diff line
@@ -126,15 +126,14 @@ def test_multitaskclassification_reload():

  classification_metric = dc.metrics.Metric(dc.metrics.accuracy_score)
  model_dir = tempfile.mkdtemp()
  model = dc.models.MultitaskClassifier(n_tasks,
  model = dc.models.MultitaskClassifier(
      n_tasks,
      n_features,
      dropouts=[0.],
      weight_init_stddevs=[.1],
      batch_size=n_samples,
      optimizer=dc.models.optimizers.Adam(
                                            learning_rate=0.0003,
                                            beta1=0.9,
                                            beta2=0.999),
          learning_rate=0.0003, beta1=0.9, beta2=0.999),
      model_dir=model_dir)

  # Fit trained model
@@ -147,9 +146,8 @@ def test_multitaskclassification_reload():
      dropouts=[0.],
      weight_init_stddevs=[.1],
      batch_size=n_samples,
      optimizer=dc.models.optimizers.Adam(learning_rate=0.0003,
                                          beta1=0.9,
                                          beta2=0.999),
      optimizer=dc.models.optimizers.Adam(
          learning_rate=0.0003, beta1=0.9, beta2=0.999),
      model_dir=model_dir)
  reloaded_model.restore()

@@ -182,7 +180,8 @@ def test_residual_classification_reload():

  classification_metric = dc.metrics.Metric(dc.metrics.accuracy_score)
  model_dir = tempfile.mkdtemp()
  model = dc.models.MultitaskClassifier(n_tasks,
  model = dc.models.MultitaskClassifier(
      n_tasks,
      n_features,
      layer_sizes=[20] * 10,
      dropouts=0.0,
@@ -198,7 +197,8 @@ def test_residual_classification_reload():
  assert scores[classification_metric.name] > .9

  # Reload trained model
  reloaded_model = dc.models.MultitaskClassifier(n_tasks,
  reloaded_model = dc.models.MultitaskClassifier(
      n_tasks,
      n_features,
      layer_sizes=[20] * 10,
      dropouts=0.0,
@@ -234,10 +234,11 @@ def test_robust_multitask_classification_reload():
  w = np.ones((n_samples, n_tasks))
  dataset = dc.data.NumpyDataset(X, y, w, ids)

  classification_metric = dc.metrics.Metric(dc.metrics.accuracy_score,
                                            task_averager=np.mean)
  classification_metric = dc.metrics.Metric(
      dc.metrics.accuracy_score, task_averager=np.mean)
  model_dir = tempfile.mkdtemp()
  model = dc.models.RobustMultitaskClassifier(n_tasks,
  model = dc.models.RobustMultitaskClassifier(
      n_tasks,
      n_features,
      layer_sizes=[50],
      bypass_layer_sizes=[10],
@@ -255,7 +256,8 @@ def test_robust_multitask_classification_reload():
  assert scores[classification_metric.name] > .9

  # Reloaded Trained Model
  reloaded_model = dc.models.RobustMultitaskClassifier(n_tasks,
  reloaded_model = dc.models.RobustMultitaskClassifier(
      n_tasks,
      n_features,
      layer_sizes=[50],
      bypass_layer_sizes=[10],
@@ -295,7 +297,8 @@ def test_robust_multitask_regressor_reload():
  regression_metric = dc.metrics.Metric(dc.metrics.mean_squared_error)

  model_dir = tempfile.mkdtemp()
  model = dc.models.RobustMultitaskRegressor(n_tasks,
  model = dc.models.RobustMultitaskRegressor(
      n_tasks,
      n_features,
      layer_sizes=[50],
      bypass_layer_sizes=[10],
@@ -313,7 +316,8 @@ def test_robust_multitask_regressor_reload():
  assert scores[regression_metric.name] < .1

  # Reload trained model
  reloaded_model = dc.models.RobustMultitaskRegressor(n_tasks,
  reloaded_model = dc.models.RobustMultitaskRegressor(
      n_tasks,
      n_features,
      layer_sizes=[50],
      bypass_layer_sizes=[10],
@@ -353,10 +357,11 @@ def test_IRV_multitask_classification_reload():
  IRV_transformer = dc.trans.IRVTransformer(5, n_tasks, dataset)
  dataset_trans = IRV_transformer.transform(dataset)

  classification_metric = dc.metrics.Metric(dc.metrics.accuracy_score,
                                            task_averager=np.mean)
  classification_metric = dc.metrics.Metric(
      dc.metrics.accuracy_score, task_averager=np.mean)
  model_dir = tempfile.mkdtemp()
  model = dc.models.MultitaskIRVClassifier(n_tasks,
  model = dc.models.MultitaskIRVClassifier(
      n_tasks,
      K=5,
      learning_rate=0.01,
      batch_size=n_samples,
@@ -370,7 +375,8 @@ def test_IRV_multitask_classification_reload():
  assert scores[classification_metric.name] > .9

  # Reload Trained Model
  reloaded_model = dc.models.MultitaskIRVClassifier(n_tasks,
  reloaded_model = dc.models.MultitaskIRVClassifier(
      n_tasks,
      K=5,
      learning_rate=0.01,
      batch_size=n_samples,
@@ -406,10 +412,11 @@ def test_progressive_classification_reload():

  dataset = dc.data.NumpyDataset(X, y, w, ids)

  classification_metric = dc.metrics.Metric(dc.metrics.accuracy_score,
                                            task_averager=np.mean)
  classification_metric = dc.metrics.Metric(
      dc.metrics.accuracy_score, task_averager=np.mean)
  model_dir = tempfile.mkdtemp()
  model = dc.models.ProgressiveMultitaskClassifier(n_tasks,
  model = dc.models.ProgressiveMultitaskClassifier(
      n_tasks,
      n_features,
      layer_sizes=[50],
      bypass_layer_sizes=[10],
@@ -470,7 +477,8 @@ def test_progressivemultitaskregressor_reload():
  regression_metric = dc.metrics.Metric(dc.metrics.mean_squared_error)

  model_dir = tempfile.mkdtemp()
  model = dc.models.ProgressiveMultitaskRegressor(n_tasks,
  model = dc.models.ProgressiveMultitaskRegressor(
      n_tasks,
      n_features,
      layer_sizes=[50],
      bypass_layer_sizes=[10],
@@ -523,14 +531,15 @@ def test_DAG_regression_reload():

  # Load mini log-solubility dataset.
  featurizer = dc.feat.ConvMolFeaturizer()
  mols = ["CCCCCC"] * 10
  tasks = ["outcome"]
  mols = ["CC", "CCO", "CC","CCC","CCCCO","CO","CC","CCCCC","CCC","CCCO"]
  n_samples = len(mols)
  X = featurizer(mols)
  y = np.random.rand(n_samples, n_tasks)
  dataset = dc.data.NumpyDataset(X, y)

  regression_metric = dc.metrics.Metric(dc.metrics.pearson_r2_score,
                                        task_averager=np.mean)
  regression_metric = dc.metrics.Metric(
      dc.metrics.pearson_r2_score, task_averager=np.mean)

  n_feat = 75
  batch_size = 10
@@ -538,7 +547,8 @@ def test_DAG_regression_reload():
  dataset = transformer.transform(dataset)

  model_dir = tempfile.mkdtemp()
  model = dc.models.DAGModel(n_tasks,
  model = dc.models.DAGModel(
      n_tasks,
      max_atoms=50,
      n_atom_feat=n_feat,
      batch_size=batch_size,
@@ -554,7 +564,8 @@ def test_DAG_regression_reload():
  scores = model.evaluate(dataset, [regression_metric])
  assert scores[regression_metric.name] > .1

  reloaded_model = dc.models.DAGModel(n_tasks,
  reloaded_model = dc.models.DAGModel(
      n_tasks,
      max_atoms=50,
      n_atom_feat=n_feat,
      batch_size=batch_size,
@@ -562,7 +573,6 @@ def test_DAG_regression_reload():
      use_queue=False,
      mode="regression",
      model_dir=model_dir)

  reloaded_model.restore()
  
  # Check predictions match on random sample
@@ -579,7 +589,6 @@ def test_DAG_regression_reload():
  scores = reloaded_model.evaluate(dataset, [regression_metric])
  assert scores[regression_metric.name] > .1


## TODO: THIS IS FAILING!
#def test_weave_classification_reload_alt():
#  """Test weave model can be reloaded."""
@@ -899,7 +908,8 @@ def test_1d_cnn_regression_reload():
  regression_metric = dc.metrics.Metric(dc.metrics.mean_squared_error)
  model_dir = tempfile.mkdtemp()

  model = dc.models.CNN(n_tasks,
  model = dc.models.CNN(
      n_tasks,
      n_features,
      dims=1,
      dropouts=0,
@@ -916,7 +926,8 @@ def test_1d_cnn_regression_reload():
  assert scores[regression_metric.name] < 0.1

  # Reload trained model
  reloaded_model = dc.models.CNN(n_tasks,
  reloaded_model = dc.models.CNN(
      n_tasks,
      n_features,
      dims=1,
      dropouts=0,
@@ -1005,9 +1016,8 @@ def test_chemception_reload():
  img_spec = "engd"
  res = 0.5
  n_tasks = 1
  featurizer = dc.feat.SmilesToImage(img_size=img_size,
                                     img_spec=img_spec,
                                     res=res)
  featurizer = dc.feat.SmilesToImage(
      img_size=img_size, img_spec=img_spec, res=res)

  data_points = 10
  mols = ["CCCCCCCC"] * data_points
@@ -1016,19 +1026,20 @@ def test_chemception_reload():
  y = np.random.randint(0, 2, size=(data_points, n_tasks))
  w = np.ones(shape=(data_points, n_tasks))
  dataset = dc.data.NumpyDataset(X, y, w, mols)
  classsification_metric = dc.metrics.Metric(dc.metrics.roc_auc_score,
                                             np.mean,
                                             mode="classification")
  classsification_metric = dc.metrics.Metric(
      dc.metrics.roc_auc_score, np.mean, mode="classification")

  model_dir = tempfile.mkdtemp()
  model = dc.models.ChemCeption(n_tasks=n_tasks,
  model = dc.models.ChemCeption(
      n_tasks=n_tasks,
      img_spec="engd",
      model_dir=model_dir,
      mode="classification")
  model.fit(dataset, nb_epoch=3)

  # Reload Trained Model
  reloaded_model = dc.models.ChemCeption(n_tasks=n_tasks,
  reloaded_model = dc.models.ChemCeption(
      n_tasks=n_tasks,
      img_spec="engd",
      model_dir=model_dir,
      mode="classification")