Skip to content
Snippets Groups Projects
Commit d6e7ca12 authored by Pavel KORSHUNOV's avatar Pavel KORSHUNOV
Browse files

allow missing files scoring

parent bf936a42
No related branches found
No related tags found
1 merge request!18Adding allow-missing-files to projection and scoring
Pipeline #
......@@ -25,9 +25,8 @@ from bob.bio.base import utils
def _compute_scores(algorithm, toscore_objects, allow_missing_files):
"""Compute scores for the given list of objects using provided algorithm.
"""
# the scores to be computed; initialized with NaN
scores = numpy.ones((1, len(toscore_objects)), numpy.float64) * numpy.nan
scores = numpy.reshape(scores, [len(toscore_objects)])
# the scores to be computed
scores = []
# Loops over the toscore sets
for i, toscore_element in enumerate(toscore_objects):
......@@ -39,9 +38,9 @@ def _compute_scores(algorithm, toscore_objects, allow_missing_files):
toscore = algorithm.read_toscore_object(toscore_element)
# compute score
if isinstance(toscore, list) or isinstance(toscore[0], numpy.ndarray):
scores[i] = algorithm.score_for_multiple_projections(toscore)
scores.insert(i, algorithm.score_for_multiple_projections(toscore))
else:
scores[i] = algorithm.score(toscore)
scores.insert(i, algorithm.score(toscore))
# Returns the scores
return scores
......@@ -107,6 +106,10 @@ def _save_scores(score_file, scores, toscore_objects, write_compressed=False):
id_str = (str(toscore_object.client_id)).zfill(3)
sample_name = str(toscore_object.make_path())
# we can have empty score list if allow_missing_files was true in _compute_scores()
if not scores[i]:
scores[i] = [numpy.nan] # create a NaN score for such
# scores[i] is a list, so
# each sample is allowed to have multiple scores
for score in scores[i]:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment