Commit 2a3d0bc3 authored by leswing's avatar leswing
Browse files

PR comments

parent 8bb85146
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -644,10 +644,13 @@ class Reshape(Layer):
    return out_tensor


class ToInt32(Layer):
class Cast(Layer):

  def __init__(self, in_layers=None, **kwargs):
    super(ToInt32, self).__init__(in_layers, **kwargs)
  def __init__(self, in_layers=None, dtype=None, **kwargs):
    if dtype is None:
      raise ValueError("Must cast to a dtype")
    self.dtype = dtype
    super(Cast, self).__init__(in_layers, **kwargs)
    try:
      parent_shape = self.in_layers[0].shape
      self._shape = parent_shape
@@ -657,7 +660,7 @@ class ToInt32(Layer):
  def create_tensor(self, in_layers=None, set_tensors=True, **kwargs):
    inputs = self._get_input_tensors(in_layers)
    parent_tensor = inputs[0]
    out_tensor = tf.to_int32(parent_tensor)
    out_tensor = tf.cast(parent_tensor, self.dtype)
    if set_tensors:
      self.out_tensor = out_tensor
    return out_tensor
+3 −3
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ from tensorflow.python.framework import test_util

from deepchem.feat.graph_features import ConvMolFeaturizer
from deepchem.feat.mol_graphs import ConvMol
from deepchem.models.tensorgraph.layers import Add, MaxPool2D, MaxPool3D, GraphCNN, GraphEmbedPoolLayer, ToInt32
from deepchem.models.tensorgraph.layers import Add, MaxPool2D, MaxPool3D, GraphCNN, GraphEmbedPoolLayer, Cast
from deepchem.models.tensorgraph.layers import AlphaShareLayer
from deepchem.models.tensorgraph.layers import AttnLSTMEmbedding
from deepchem.models.tensorgraph.layers import BatchNorm
@@ -710,11 +710,11 @@ class TestLayers(test_util.TensorFlowTestCase):
      loss = np.mean(diff**2)
      assert (loss - result) / loss < 1e-6

  def test_to_int32(self):
  def test_cast(self):
    """Test that layers can automatically reshape inconsistent inputs."""
    value1 = np.random.uniform(size=(2, 1)).astype(np.float32)
    with self.test_session() as sess:
      out_tensor = ToInt32(squeeze_dims=1)(tf.constant(value1))
      out_tensor = Cast(dtype=tf.int32)(tf.constant(value1))
      result = out_tensor.eval()
      assert result.dtype == np.int32

+3 −3
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ from deepchem.models.tensorgraph.layers import Feature, Conv1D, Dense, Flatten,
  SoftMaxCrossEntropy, ReduceMean, ToFloat, ReduceSquareDifference, Conv2D, MaxPool2D, ReduceSum, GraphConv, GraphPool, \
  GraphGather, BatchNorm, WeightedError, \
  Conv3D, MaxPool3D, Conv2DTranspose, Conv3DTranspose, \
  LSTMStep, AttnLSTMEmbedding, IterRefLSTMEmbedding, GraphEmbedPoolLayer, GraphCNN, ToInt32
  LSTMStep, AttnLSTMEmbedding, IterRefLSTMEmbedding, GraphEmbedPoolLayer, GraphCNN, Cast
from deepchem.models.tensorgraph.symmetry_functions import AtomicDifferentiatedDense


@@ -64,10 +64,10 @@ def test_Squeeze_pickle():
  tg.save()


def test_ToInt32_pickle():
def test_Cast_pickle():
  tg = TensorGraph()
  feature = Feature(shape=(tg.batch_size, 1))
  layer = ToInt32(in_layers=feature)
  layer = Cast(in_layers=feature, dtype=tf.int32)
  tg.add_output(layer)
  tg.set_loss(layer)
  tg.build()