Commit d9e5318d authored by ZHENQIN WU's avatar ZHENQIN WU
Browse files

style change

parent f2fd75de
Loading
Loading
Loading
Loading
+46 −22
Original line number Diff line number Diff line
@@ -11,13 +11,23 @@ from deepchem.models.tensorflow_models import TensorflowGraph
from deepchem.models.tensorflow_models import TensorflowGraphModel
from deepchem.models.tensorflow_models.lr import TensorflowLogisticRegression


class TensorflowMultiTaskIRVClassifier(TensorflowLogisticRegression):

  def __init__(self, n_tasks, K=10, logdir=None, n_classes=2, penalty=0.0, 
               penalty_type="l2", learning_rate=0.001, momentum=.8, 
               optimizer="adam", batch_size=50, verbose=True, seed=None,
  def __init__(self,
               n_tasks,
               K=10,
               logdir=None,
               n_classes=2,
               penalty=0.0,
               penalty_type="l2",
               learning_rate=0.001,
               momentum=.8,
               optimizer="adam",
               batch_size=50,
               verbose=True,
               seed=None,
               **kwargs):

    """Initialize TensorflowMultiTaskIRVClassifier
    
    Parameters
@@ -53,12 +63,25 @@ class TensorflowMultiTaskIRVClassifier(TensorflowLogisticRegression):
    self.K = K
    self.n_features = 2 * self.K * self.n_tasks
    print("n_features after fit_transform: %d" % int(self.n_features))
    TensorflowGraphModel.__init__(self, n_tasks, self.n_features, logdir=logdir, 
	       layer_sizes=None, weight_init_stddevs=None, bias_init_consts=None, 
              penalty=penalty, penalty_type=penalty_type, dropouts=None, 
	       n_classes=n_classes, learning_rate=learning_rate, 
             momentum=momentum, optimizer=optimizer, 
	       batch_size=batch_size, pad_batches=False, verbose=verbose, seed=seed, 
    TensorflowGraphModel.__init__(
        self,
        n_tasks,
        self.n_features,
        logdir=logdir,
        layer_sizes=None,
        weight_init_stddevs=None,
        bias_init_consts=None,
        penalty=penalty,
        penalty_type=penalty_type,
        dropouts=None,
        n_classes=n_classes,
        learning_rate=learning_rate,
        momentum=momentum,
        optimizer=optimizer,
        batch_size=batch_size,
        pad_batches=False,
        verbose=verbose,
        seed=seed,
        **kwargs)

  def build(self, graph, name_scopes, training):
@@ -66,8 +89,8 @@ class TensorflowMultiTaskIRVClassifier(TensorflowLogisticRegression):
       
       https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2750043/
    """
    placeholder_scope = TensorflowGraph.get_placeholder_scope(
        graph, name_scopes)
    placeholder_scope = TensorflowGraph.get_placeholder_scope(graph,
                                                              name_scopes)
    K = self.K
    with graph.as_default():
      output = []
@@ -81,10 +104,11 @@ class TensorflowMultiTaskIRVClassifier(TensorflowLogisticRegression):
        b2 = tf.Variable(tf.constant([0.01]), name="b2", dtype=tf.float32)
      for count in range(self.n_tasks):
        similarity = self.features[:, 2 * K * count:(2 * K * count + K)]
        ys = tf.to_int32(self.features[:, (2*K*count+K):2*K*(count+1)])
        R = b+W[0]*similarity+W[1]*tf.constant(np.arange(K)+1, dtype=tf.float32)
        ys = tf.to_int32(
            self.features[:, (2 * K * count + K):2 * K * (count + 1)])
        R = b + W[0] * similarity + W[1] * tf.constant(
            np.arange(K) + 1, dtype=tf.float32)
        R = tf.sigmoid(R)
        z = tf.reduce_sum(R * tf.gather(V, ys), axis=1) + b2
        output.append(tf.reshape(z, shape=[-1, 1]))
    return output
  
+11 −13
Original line number Diff line number Diff line
@@ -606,13 +606,13 @@ class CoulombFitTransformer():

  def untransform(self, z):
    raise NotImplementedError(
<<<<<<< HEAD
        "Cannot untransform datasets with FitTransformer.")


class IRVTransformer():
  """Performs transform from ECFP to IRV features(K nearest neibours)."""
  def __init__(self, K, n_tasks, dataset, transform_y=False, transform_x=False):

  def __init__(self, K, n_tasks, dataset, transform_y=False, transform_x=False):
    """Initializes IRVTransformer.
    Parameters:
    ----------
@@ -647,7 +647,8 @@ class IRVTransformer():

  def X_transform(self, X_target):
    X_target2 = []
    similarity = np.matmul(X_target, np.transpose(self.X))/(1024-np.matmul(1-X_target, np.transpose(1-self.X)))
    similarity = np.matmul(X_target, np.transpose(self.X)) / (
        1024 - np.matmul(1 - X_target, np.transpose(1 - self.X)))
    for i in range(self.n_tasks):
      X_target2.append(self.realize(similarity, self.y[:, i], self.w[:, i]))
    return np.concatenate([z for z in np.array(X_target2)], axis=1)
@@ -659,6 +660,3 @@ class IRVTransformer():
  def untransform(self, z):
    raise NotImplementedError(
        "Cannot untransform datasets with IRVTransformer.")
=======
        "Cannot untransform datasets with FitTransformer.")
>>>>>>> remotes/origin/master
+9 −6
Original line number Diff line number Diff line
@@ -38,10 +38,13 @@ for transformer in transformers:
  test_dataset = transformer.transform(test_dataset)
  print("end")


model = dc.models.TensorflowMultiTaskIRVClassifier(
    len(tox21_tasks), K=K, learning_rate=0.001, penalty = 0.05, 
    batch_size=32, fit_transformers=[])
    len(tox21_tasks),
    K=K,
    learning_rate=0.001,
    penalty=0.05,
    batch_size=32,
    fit_transformers=[])

# Fit trained model
model.fit(train_dataset, nb_epoch=10)