Example #1
0
def other_class_accuracy(y_true, y_pred):
    class_id_true = K.argmax(y_true, axis=-1)
    class_id_preds = K.argmax(y_pred, axis=-1)
    # Replace class_id_preds with class_id_true for recall here
    class_type_mask = K.cast(K.greater(class_id_true, INTERESTING_CLASS_ID), 'int32')
    class_acc_tensor = K.cast(K.greater_equal(class_id_preds, class_id_true), 'int32') * class_type_mask
    class_acc = K.sum(class_acc_tensor) / K.maximum(K.sum(class_type_mask), 1)
    return class_acc
Example #2
0
 def fn(y_true, y_pred):
     class_id_true = K.argmax(y_true, axis=-1)
     class_id_preds = K.argmax(y_pred, axis=-1)
     # Replace class_id_preds with class_id_true for recall here
     accuracy_mask = K.cast(K.equal(class_id_preds, interesting_class_id), 'int32')
     class_acc_tensor = K.cast(K.equal(class_id_true, class_id_preds), 'int32') * accuracy_mask
     class_acc = K.sum(class_acc_tensor) / K.maximum(K.sum(accuracy_mask), 1)
     return class_acc
def yolo_filter_boxes(graph,
                      boxes,
                      box_confidence,
                      box_class_probs,
                      threshold=.6):
    with graph.as_default():
        box_scores = box_confidence * box_class_probs
        box_classes = K.argmax(box_scores, axis=-1)
        box_class_scores = K.max(box_scores, axis=-1)
        prediction_mask = box_class_scores >= threshold

        boxes = tf.boolean_mask(boxes, prediction_mask)
        scores = tf.boolean_mask(box_class_scores, prediction_mask)
        classes = tf.boolean_mask(box_classes, prediction_mask)
        return boxes, scores, classes