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

Cleanup and bug fixes

parent f5c9223f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ class SingletaskToMultitask(Model):
    n_samples = X.shape[0]
    y_pred = np.zeros((n_samples, n_tasks))
    for ind, task in enumerate(self.tasks):
      task_type = task_types[task]
      task_type = self.task_types[task]
      if task_type == "classification":
        y_pred[:, ind] = self.models[task].predict_on_batch(X)[:, 0]
      elif task_type == "regression":
+0 −5
Original line number Diff line number Diff line
@@ -43,11 +43,6 @@ class SklearnModel(Model):
    """
    X, y, w, _ = dataset.to_numpy()
    y, w = np.squeeze(y), np.squeeze(w)
    ######## DEBUG
    print("SklearnModel.fit()")
    print("X.shape, y.shape, w.shape")
    print(X.shape, y.shape, w.shape)
    ######## DEBUG
    self.raw_model.fit(X, y, w)
    y_pred_raw = self.raw_model.predict(X)

+0 −6
Original line number Diff line number Diff line
@@ -139,12 +139,6 @@ class TensorflowGraph(object):
      gradient_costs = []  # costs used for gradient calculation

      with self._shared_name_scope('costs'):
        ######## DEBUG
        print("self.num_tasks")
        print(self.num_tasks)
        print("len(self.output)")
        print(len(self.output))
        ######## DEBUG
        for task in xrange(self.num_tasks):
          task_str = str(task).zfill(len(str(self.num_tasks)))
          with self._shared_name_scope('cost_{}'.format(task_str)):
+0 −7
Original line number Diff line number Diff line
@@ -300,13 +300,6 @@ def MultitaskLogits(features, num_tasks, num_classes=2, weight_init=None,
        logits.append(
            Logits(features, num_classes, weight_init=weight_init,
                   bias_init=bias_init, dropout=dropout))
  ###### DEBUG
  print("MultitaskLogits")
  print("num_tasks")
  print(num_tasks)
  print("len(logits)")
  print(len(logits))
  ###### DEBUG
  return logits


+0 −60
Original line number Diff line number Diff line
@@ -143,9 +143,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])
    y_pred_proba_model = model.predict_proba(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -195,8 +192,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -248,8 +243,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -299,9 +292,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])
    y_pred_proba_model = model.predict_proba(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -352,9 +342,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])
    y_pred_proba_model = model.predict_proba(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -409,9 +396,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])
    y_pred_proba_model = model.predict_proba(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -467,9 +451,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])
    y_pred_proba_model = model.predict_proba(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -487,25 +468,13 @@ class TestOverfitAPI(TestAPI):
    
    tasks = ["task0"]
    task_types = {task: "classification" for task in tasks}
    #n_samples = 250
    #n_samples = 500
    #n_samples = 1000
    #n_samples = 2000
    #n_samples = 5000
    n_samples = 5120
    #n_features = 3
    n_features = 6
    n_tasks = len(tasks)
    n_classes = 2
    
    # Generate dummy dataset
    np.random.seed(123)
    #p = .002
    #p = .2
    #p = .1
    #p = .05
    #p = .01
    #p = .005
    p = .002
    ids = np.arange(n_samples)
    X = np.random.rand(n_samples, n_features)
@@ -513,14 +482,6 @@ class TestOverfitAPI(TestAPI):
    w = np.ones((n_samples, n_tasks))
    print("np.count_nonzero(y)")
    print(np.count_nonzero(y))
    #w = np.random.binomial(1, p, size=(n_samples, n_tasks))
    #print("np.amin(w), np.amax(w)")
    #print(np.amin(w), np.amax(w))

    #print("y_nonzero.shape")
    #print(y_nonzero.shape)
    #print("np.count_nonzero(y_nonzero)")
    #print(np.count_nonzero(y_nonzero))
    ##### DEBUG
    y_flat, w_flat = np.squeeze(y), np.squeeze(w)
    y_nonzero = y_flat[w_flat != 0]
@@ -541,17 +502,7 @@ class TestOverfitAPI(TestAPI):
      "dropouts": [.0],
      "learning_rate": 0.003,
      "momentum": .9,
      #"batch_size": n_samples,
      #"batch_size": n_samples/2,
      #"batch_size": n_samples/4,
      #"batch_size": n_samples/8,
      #"batch_size": n_samples/16,
      #"batch_size": n_samples/32,
      #"batch_size": n_samples/64,
      "batch_size": 75,
      # TODO(rbharath): Is there a bug in the padding code? Why does it fail to
      # learn for non-multiples?
      #"batch_size": 600,
      "num_classification_tasks": 1,
      "num_classes": n_classes,
      "num_features": n_features,
@@ -562,8 +513,6 @@ class TestOverfitAPI(TestAPI):
      "optimizer": "adam",
      "data_shape": dataset.get_data_shape()
    }
    print("model_params['batch_size']")
    print(model_params['batch_size'])

    verbosity = "high"
    classification_metric = Metric(metrics.roc_auc_score, verbosity=verbosity)
@@ -576,9 +525,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])
    y_pred_proba_model = model.predict_proba(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -671,9 +617,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])
    y_pred_proba_model = model.predict_proba(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)
@@ -728,9 +671,6 @@ class TestOverfitAPI(TestAPI):
    model.fit(dataset)
    model.save()

    y_pred_model = model.predict(dataset, transformers=[])
    y_pred_proba_model = model.predict_proba(dataset, transformers=[])

    # Eval model on train
    transformers = []
    evaluator = Evaluator(model, dataset, transformers, verbosity=verbosity)