Beispiel #1
0
 def process(self, sample):
     for input_key, value in sample[INPUT].iteritems():
         if self.tag in input_key:
             sample[INPUT][input_key] = put_in_the_middle(target_tensor=np.zeros(shape=self.output_shape),
                                                          data_tensor = value
                                                          )
     return sample
Beispiel #2
0
    def get_loss_from_lists(self, predicted, expected, *args, **kwargs):
        expected = put_in_the_middle(np.zeros_like(predicted),expected)
        y_true_f = expected.flatten()
        y_pred_f = predicted.flatten()

        true_positive = np.sum(y_true_f * y_pred_f)
        false_negative = np.sum(y_true_f * (1.-y_pred_f))

        return (true_positive + self.smooth) / (true_positive + false_negative + self.smooth)
Beispiel #3
0
    def get_loss_from_lists(self, predicted, expected, *args, **kwargs):
        expected = put_in_the_middle(np.zeros_like(predicted),expected)
        y_true_f = expected.flatten()
        y_pred_f = predicted.flatten()

        true_positive = np.sum(y_true_f * y_pred_f)
        false_negative = np.sum(y_true_f * (1.-y_pred_f))
        false_positive = np.sum((1.-y_true_f) * y_pred_f)

        recall = (true_positive + self.smooth) / (true_positive + false_negative + self.smooth)
        precision = (true_positive + self.smooth) / (true_positive + false_positive + self.smooth)

        return np.minimum(recall*self.recall_weight, 1.0) * 0.5 + np.minimum(precision*self.precision_weight, 1.0) * 0.5
Beispiel #4
0
 def get_loss_from_lists(self, predicted, expected, *args, **kwargs):
     expected = put_in_the_middle(np.zeros_like(predicted),expected)
     y_true_f = expected.flatten()
     y_pred_f = predicted.flatten()
     intersection = np.sum(y_true_f * y_pred_f)
     return (2 * intersection + self.smooth) / (np.sum(y_true_f) + np.sum(y_pred_f) + self.smooth)
Beispiel #5
0
 def get_loss_from_lists(self, predicted, expected, *args, **kwargs):
     expected = put_in_the_middle(np.zeros_like(predicted),expected)
     predicted = np.float32(1-2*self.eps) * predicted + self.eps
     return -np.mean(expected*np.log(predicted) * self.classweights[1] + (1-expected)*np.log(1-predicted) * self.classweights[0])