Files
ModelTrainEval/tests/test_compare_openvino_classes.py

27 lines
968 B
Python

import numpy as np
from scripts.compare_openvino_classes import matrix_report, output_class, probability_class
def test_detector_output_channel_offset_and_background():
output = np.zeros((1, 13, 336), dtype=np.float32)
output[0, :4, 0] = [64, 64, 128, 128]
assert output_class(output, 0.25, 4) == 4
output[0, 5, 0] = 0.6
assert output_class(output, 0.25, 4) == 1 # blackdot, not black
output[0, 4, 50] = 0.9
assert output_class(output, 0.25, 4) == 0
def test_report_excludes_background_from_foreground_agreement():
matrix = np.array([[1, 1], [0, 8]])
report = matrix_report(matrix, ["blackdot", "normal"], 1)
assert report["agreement"] == 0.9
assert report["foreground_agreement"] == 0.5
def test_probability_output_has_no_coordinate_offset():
probabilities = np.array([[0.1, 0.8, 0.1]])
assert probability_class(probabilities, .25, 2) == 1
assert probability_class(np.array([[.3, .4, .3]]), .5, 2) == 2