Example #1
0
def test_jaccard_distance():
    # all_right, almost_right, half_right, all_wrong
    y_true = np.array([[0, 0, 1, 0], [0, 0, 1, 0], [0, 0, 1, 0],
                       [0, 0, 1.0, 0.0]])
    y_pred = np.array([[0, 0, 1, 0], [0, 0, 0.9, 0], [0, 0, 0.1, 0],
                       [1, 1, 0.1, 1.0]])

    r = jaccard_distance(K.variable(y_true), K.variable(y_pred))
    if K.is_keras_tensor(r):
        assert K.int_shape(r) == (4, )

    all_right, almost_right, half_right, all_wrong = K.eval(r)
    assert all_right == 0, "should converge on zero"
    assert all_right < almost_right
    assert almost_right < half_right
    assert half_right < all_wrong
Example #2
0
def test_jaccard_distance_shapes_2d():
    y_a = K.variable(np.random.random((6, 7)))
    y_b = K.variable(np.random.random((6, 7)))
    objective_output = jaccard_distance(y_a, y_b)
    assert K.eval(objective_output).shape == (6, )