Ejemplo n.º 1
0
 def get_loss_train(self):
     """Calculates (if needed) cross-entropy losses for the training set."""
     if self.loss_train is None:
         if self.logits_train is not None:
             self.loss_train = utils.log_loss_from_logits(
                 self.labels_train, self.logits_train)
         else:
             self.loss_train = utils.log_loss(self.labels_train,
                                              self.probs_train)
     return self.loss_train
Ejemplo n.º 2
0
def calculate_losses(model, data, labels):
  """Calculate losses of model prediction on data, provided true labels.

  Args:
    model: model to make prediction
    data: samples
    labels: true labels of samples (integer valued)

  Returns:
    preds: probability vector of each sample
    loss: cross entropy loss of each sample
  """
  pred = model.predict(data)
  loss = log_loss(labels, pred)
  return pred, loss
Ejemplo n.º 3
0
    def get_loss_test(self):
        """Calculates (if needed) cross-entropy losses for the test set.

    Returns:
      Loss (or None if neither the loss nor the labels are present).
    """
        if self.loss_test is None:
            if self.labels_test is None:
                return None
            if self.logits_test is not None:
                self.loss_test = utils.log_loss_from_logits(
                    self.labels_test, self.logits_test)
            else:
                self.loss_test = utils.log_loss(self.labels_test,
                                                self.probs_test)
        return self.loss_test
Ejemplo n.º 4
0
def calculate_losses(estimator, input_fn, labels):
    """Get predictions and losses for samples.

  The assumptions are 1) the loss is cross-entropy loss, and 2) user have
  specified prediction mode to return predictions, e.g.,
  when mode == tf.estimator.ModeKeys.PREDICT, the model function returns
  tf.estimator.EstimatorSpec(mode=mode, predictions=tf.nn.softmax(logits)).

  Args:
    estimator: model to make prediction
    input_fn: input function to be used in estimator.predict
    labels: true labels of samples

  Returns:
    preds: probability vector of each sample
    loss: cross entropy loss of each sample
  """
    pred = np.array(list(estimator.predict(input_fn=input_fn)))
    loss = log_loss(labels, pred)
    return pred, loss