Commit 8b2a7a72 authored by cc's avatar cc
Browse files

Added NCI progressive MTNN example

Fixed bug in delaney graph conv example
parent e7d8d204
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ with g.as_default():

  # Do setup required for tf/keras models
  # Number of features on conv-mols
  n_feat = 75
  n_feat = 71
  # Batch size of models
  batch_size = 128
  graph_model = dc.nn.SequentialGraph(n_feat)
+44 −0
Original line number Diff line number Diff line
"""
Script that trains progressive multitask models on NCI dataset.
"""
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals

import numpy as np
import deepchem as dc
from nci_datasets import load_nci

# Only for debug!
np.random.seed(123)

# Load Delaney dataset
nci_tasks, nci_datasets, transformers = load_nci()
train_dataset, valid_dataset, test_dataset = nci_datasets

# Fit models
metric = dc.metrics.Metric(dc.metrics.pearson_r2_score, np.mean)

n_features = 1024
n_layers = 1
nb_epoch = 10
model = dc.models.ProgressiveMultitaskRegressor(
  len(nci_tasks), n_features,
  layer_sizes=[1000]*n_layers, dropouts=[.25]*n_layers,
  alpha_init_stddevs=[.02]*n_layers, weight_init_stddevs=[.02]*n_layers,
  bias_init_consts=[1.]*n_layers, learning_rate=.001,
  penalty=.0001, penalty_type="l2", optimizer="adam", batch_size=100,
  seed=123, verbosity="high")

# Fit trained model
model.fit(train_dataset)

print("Evaluating model")
train_scores = model.evaluate(train_dataset, [metric], transformers)
valid_scores = model.evaluate(valid_dataset, [metric], transformers)

print("Train scores")
print(train_scores)

print("Validation scores")
print(valid_scores)