Commit eaa777d0 authored by Bharath Ramsundar's avatar Bharath Ramsundar
Browse files

Progress in removing keras deps

parent 480edcee
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -349,8 +349,8 @@ class ConvMol(object):
    return concat_mol

class MultiConvMol(object):
  """Holds information about multiple molecules, for use in feeding information into
  tensorflow or keras. Generated using the agglomerate_mols function
  """Holds information about multiple molecules, for use in feeding information
     into tensorflow. Generated using the agglomerate_mols function
  """
  def __init__(self, nodes, deg_adj_lists, deg_slice, membership, num_mols):

+3 −3
Original line number Diff line number Diff line
@@ -7,9 +7,9 @@ from __future__ import unicode_literals

from deepchem.models.models import Model
from deepchem.models.sklearn_models import SklearnModel
from deepchem.models.tf_keras_models.multitask_classifier import MultitaskGraphClassifier
from deepchem.models.tf_keras_models.multitask_regressor import MultitaskGraphRegressor
from deepchem.models.tf_keras_models.support_classifier import SupportGraphClassifier
from deepchem.models.tf_new_models.multitask_classifier import MultitaskGraphClassifier
from deepchem.models.tf_new_models.multitask_regressor import MultitaskGraphRegressor
from deepchem.models.tf_new_models.support_classifier import SupportGraphClassifier
from deepchem.models.multitask import SingletaskToMultitask

from deepchem.models.tensorflow_models.fcnet import TensorflowMultiTaskRegressor
+3 −4
Original line number Diff line number Diff line
@@ -9,15 +9,14 @@ __author__ = "Han Altae-Tran and Bharath Ramsundar"
__copyright__ = "Copyright 2016, Stanford University"
__license__ = "GPL"


from deepchem.models.tf_keras_models.keras_layers import GraphGather
from deepchem.models.tf_keras_models.graph_topology import GraphTopology
from deepchem.nn.layers import GraphGather
from deepchem.models.tf_new_models.graph_topology import GraphTopology

class SequentialGraph(object):
  """An analog of Keras Sequential class for Graph data.

  Like the Sequential class from Keras, but automatically passes topology
  placeholders from GraphTopology to each graph layer (from keras_layers) added
  placeholders from GraphTopology to each graph layer (from layers) added
  to the network. Non graph layers don't get the extra placeholders. 
  """
  def __init__(self, n_feat):
+1 −1
Original line number Diff line number Diff line
@@ -8,8 +8,8 @@ __author__ = "Han Altae-Tran and Bharath Ramsundar"
__copyright__ = "Copyright 2016, Stanford University"
__license__ = "GPL"

from keras.layers import Input
from keras import backend as K
from deepchem.nn.copy import Input
from deepchem.feat.mol_graphs import ConvMol

def merge_two_dicts(x, y):
+16 −10
Original line number Diff line number Diff line
"""
Implements a multitask classifier.
"""
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals

__author__ = "Han Altae-Tran and Bharath Ramsundar"
__copyright__ = "Copyright 2016, Stanford University"
__license__ = "GPL"

import os
import sys
import numpy as np
import tensorflow as tf
import sklearn.metrics
import tempfile
from keras.engine import Layer
from keras.layers import Input, Dense
from keras import initializations, activations
from keras import backend as K
from deepchem.data import pad_features
from deepchem.utils.save import log
from deepchem.models import Model 
from deepchem.nn.copy import Input
from deepchem.nn.copy import Dense
from deepchem.models.tensorflow_models import model_ops
# TODO(rbharath): Find a way to get rid of this import?
from deepchem.models.tf_keras_models.graph_topology import merge_dicts
from deepchem.models.tf_new_models.graph_topology import merge_dicts

def get_loss_fn(final_loss):
  # Obtain appropriate loss function
@@ -105,7 +114,6 @@ class MultitaskGraphClassifier(Model):
    self.weight_placeholder = Input(tensor=K.placeholder(
          shape=(None,self.n_tasks), name="weight_placholder", dtype='float32'))

    # Create final dense layer from keras 
    feat = self.model.return_outputs()
    output = model_ops.multitask_logits(
        feat, self.n_tasks)
@@ -143,10 +151,8 @@ class MultitaskGraphClassifier(Model):

    # Get other optimizer information
    # TODO(rbharath): Figure out how to handle phase appropriately
    #keras_dict = {K.learning_phase() : training}
    keras_dict = {}
    feed_dict = merge_dicts([targets_dict, atoms_dict,
                             keras_dict])
    # old_dict = {K.learning_phase() : training}
    feed_dict = merge_dicts([targets_dict, atoms_dict ])
    return feed_dict

  def add_training_loss(self, final_loss, logits):
Loading