Commit 5179cdf4 authored by pvskand's avatar pvskand
Browse files

yapf

parent 994eaee1
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ def pearson_r2_score(y, y_pred):
  """Computes Pearson R^2 (square of Pearson correlation)."""
  return pearsonr(y, y_pred)[0]**2


def jaccard_index(y, y_pred):
  """Computes Jaccard Index which is the Intersection Over Union metric
     which is commonly used in image segmentation tasks
@@ -84,6 +85,7 @@ def jaccard_index(y, y_pred):
  """
  return jaccard_similarity_score(y, y_pred)


def pixel_error(y, y_pred):
  """defined as 1 - the maximal F-score of pixel similarity,
     or squared Euclidean distance between the original and the result labels.
@@ -95,6 +97,7 @@ def pixel_error(y, y_pred):
  """
  return 1 - f1_score(y, y_pred)


def prc_auc_score(y, y_pred):
  """Compute area under precision-recall curve"""
  assert y_pred.shape == y.shape
@@ -135,13 +138,14 @@ def kappa_score(y_true, y_pred):
  yt = np.asarray(y_true, dtype=int)
  yp = np.asarray(y_pred, dtype=int)
  assert np.array_equal(
      np.unique(yt), [0,
                      1]), ('Class labels must be binary: %s' % np.unique(yt))
      np.unique(yt),
      [0, 1]), ('Class labels must be binary: %s' % np.unique(yt))
  observed_agreement = np.true_divide(
      np.count_nonzero(np.equal(yt, yp)), len(yt))
  expected_agreement = np.true_divide(
      np.count_nonzero(yt == 1) * np.count_nonzero(yp == 1) +
      np.count_nonzero(yt == 0) * np.count_nonzero(yp == 0), len(yt)**2)
      np.count_nonzero(yt == 0) * np.count_nonzero(yp == 0),
      len(yt)**2)
  kappa = np.true_divide(observed_agreement - expected_agreement,
                         1.0 - expected_agreement)
  return kappa
+136 −39
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ from deepchem.models import Sequential
from deepchem.models.tensorgraph.layers import Conv2D, MaxPool2D, Conv2DTranspose, Concat, Feature
from deepchem.models import TensorGraph


class UNet(TensorGraph):
  """
        U-Net architecture implementation.
@@ -22,7 +23,12 @@ class UNet(TensorGraph):
        img_cols: int
         number of columns of the image
    """
    def __init__(self,img_rows=512, img_cols=512, model=dc.models.TensorGraph(), **kwargs):

  def __init__(self,
               img_rows=512,
               img_cols=512,
               model=dc.models.TensorGraph(),
               **kwargs):
    super(UNet, self).__init__(use_queue=False, **kwargs)
    self.img_cols = img_cols
    self.img_rows = img_rows
@@ -30,45 +36,136 @@ class UNet(TensorGraph):

    input = Feature(shape=(None, self.img_rows, self.img_cols))

        conv1 = Conv2D(num_outputs=64, kernel_size=3, activation='relu', padding='same', in_layers=[input])
        conv1 = Conv2D(num_outputs=64, kernel_size=3, activation='relu', padding='same', in_layers=[conv1])
    conv1 = Conv2D(
        num_outputs=64,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[input])
    conv1 = Conv2D(
        num_outputs=64,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv1])
    pool1 = MaxPool2D(ksize=2, in_layers=[conv1])

        conv2 = Conv2D(num_outputs=128, kernel_size=3, activation='relu', padding='same', in_layers=[pool1])
        conv2 = Conv2D(num_outputs=128, kernel_size=3, activation='relu', padding='same', in_layers=[conv2])
    conv2 = Conv2D(
        num_outputs=128,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[pool1])
    conv2 = Conv2D(
        num_outputs=128,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv2])
    pool2 = MaxPool2D(ksize=2, in_layers=[conv2])

        conv3 = Conv2D(num_outputs=256, kernel_size=3, activation='relu', padding='same', in_layers=[pool2])
        conv3 = Conv2D(num_outputs=256, kernel_size=3, activation='relu', padding='same', in_layers=[conv3])
    conv3 = Conv2D(
        num_outputs=256,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[pool2])
    conv3 = Conv2D(
        num_outputs=256,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv3])
    pool3 = MaxPool2D(ksize=2, in_layers=[conv3])

        conv4 = Conv2D(num_outputs=512, kernel_size=3, activation='relu', padding='same', in_layers=[pool3])
        conv4 = Conv2D(num_outputs=512, kernel_size=3, activation='relu', padding='same', in_layers=[conv4])
    conv4 = Conv2D(
        num_outputs=512,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[pool3])
    conv4 = Conv2D(
        num_outputs=512,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv4])
    pool4 = MaxPool2D(ksize=2, in_layers=[conv4])

        conv5 = Conv2D(num_outputs=1024, kernel_size=3, activation='relu', padding='same', in_layers=[pool4])
        conv5 = Conv2D(num_outputs=1024, kernel_size=3, activation='relu', padding='same', in_layers=[conv5])
    conv5 = Conv2D(
        num_outputs=1024,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[pool4])
    conv5 = Conv2D(
        num_outputs=1024,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv5])

    up6 = Conv2DTranspose(num_outputs=512, kernel_size=2, in_layers=[conv5])
    concat6 = Concat(in_layers=[conv4, up6], axis=1)
        conv6 = Conv2D(num_outputs=512, kernel_size=3, activation='relu', padding='same', in_layers=[concat6])
        conv6 = Conv2D(num_outputs=512, kernel_size=3, activation='relu', padding='same', in_layers=[conv6])
    conv6 = Conv2D(
        num_outputs=512,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[concat6])
    conv6 = Conv2D(
        num_outputs=512,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv6])

    up7 = Conv2DTranspose(num_outputs=256, kernel_size=2, in_layers=[conv6])
    concat7 = Concat(in_layers=[conv3, up7], axis=1)
        conv7 = Conv2D(num_outputs=256, kernel_size=3, activation='relu', padding='same', in_layers=[concat7])
        conv7 = Conv2D(num_outputs=256, kernel_size=3, activation='relu', padding='same', in_layers=[conv7])
    conv7 = Conv2D(
        num_outputs=256,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[concat7])
    conv7 = Conv2D(
        num_outputs=256,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv7])

    up8 = Conv2DTranspose(num_outputs=128, kernel_size=2, in_layers=[conv7])
    concat8 = Concat(in_layers=[conv2, up8], axis=1)
        conv8 = Conv2D(num_outputs=128, kernel_size=3, activation='relu', padding='same', in_layers=[concat8])
        conv8 = Conv2D(num_outputs=128, kernel_size=3, activation='relu', padding='same', in_layers=[conv8])
    conv8 = Conv2D(
        num_outputs=128,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[concat8])
    conv8 = Conv2D(
        num_outputs=128,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv8])

    up9 = Conv2DTranspose(num_outputs=64, kernel_size=2, in_layers=[conv8])
    concat9 = Concat(in_layers=[conv1, up9], axis=1)
        conv9 = Conv2D(num_outputs=64, kernel_size=3, activation='relu', padding='same', in_layers=[concat9])
        conv9 = Conv2D(num_outputs=64, kernel_size=3, activation='relu', padding='same', in_layers=[conv9])
    conv9 = Conv2D(
        num_outputs=64,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[concat9])
    conv9 = Conv2D(
        num_outputs=64,
        kernel_size=3,
        activation='relu',
        padding='same',
        in_layers=[conv9])

        conv10 = Conv2D(num_outputs=1, kernel_size=1, activation='sigmoid', in_layers=[conv9])
    conv10 = Conv2D(
        num_outputs=1, kernel_size=1, activation='sigmoid', in_layers=[conv9])

    model.add_output(conv10)