diff --git a/bob/bio/base/test/test_scripts.py b/bob/bio/base/test/test_scripts.py index 12af237166ae485ec819cc45798ccdbf9cee52fe..4cdb37b551be063683f03f021057812fa3942a2b 100644 --- a/bob/bio/base/test/test_scripts.py +++ b/bob/bio/base/test/test_scripts.py @@ -72,6 +72,7 @@ def test_verify_local(): '-e', os.path.join(dummy_dir, 'extractor.py'), '-a', os.path.join(dummy_dir, 'algorithm.py'), '--zt-norm', + '-vvv', '-s', 'test_local', '--temp-directory', test_dir, '--result-directory', test_dir @@ -91,6 +92,7 @@ def test_verify_resources(): '-e', 'dummy', '-a', 'dummy', '--zt-norm', + '-vvv', '-s', 'test_resource', '--temp-directory', test_dir, '--result-directory', test_dir @@ -110,6 +112,7 @@ def test_verify_commandline(): '-e', 'bob.bio.base.test.dummy.extractor.DummyExtractor()', '-a', 'bob.bio.base.test.dummy.algorithm.DummyAlgorithm()', '--zt-norm', + '-vvv', '-s', 'test_commandline', '--temp-directory', test_dir, '--result-directory', test_dir @@ -132,6 +135,7 @@ def test_verify_parallel(): '-e', 'bob.bio.base.test.dummy.extractor.DummyExtractor()', '-a', 'dummy', '--zt-norm', + '-vvv', '-s', 'test_parallel', '--temp-directory', test_dir, '--result-directory', test_dir, @@ -153,6 +157,7 @@ def test_verify_compressed(): '-e', 'dummy', '-a', 'dummy', '--zt-norm', + '-vvv', '-s', 'test_compressed', '--temp-directory', test_dir, '--result-directory', test_dir, @@ -173,6 +178,7 @@ def test_verify_calibrate(): '-e', 'dummy', '-a', 'dummy', '--zt-norm', + '-vvv', '-s', 'test_calibrate', '--temp-directory', test_dir, '--result-directory', test_dir, @@ -193,6 +199,7 @@ def test_verify_fileset(): '-e', 'bob.bio.base.test.dummy.extractor.DummyExtractor()', '-a', 'dummy', '--zt-norm', + '-vvv', '-s', 'test_fileset', '--temp-directory', test_dir, '--result-directory', test_dir @@ -217,6 +224,7 @@ def test_verify_filelist(): '-e', 'dummy', '-a', 'dummy', '--zt-norm', + '-vvv', '-s', 'test_filelist', '--temp-directory', test_dir, '--result-directory', test_dir @@ -267,6 +275,7 @@ def test_evaluate(): '--roc', plots[0], '--det', plots[1], '--cmc', plots[2], + '-vvv', ] # execute the script @@ -342,7 +351,7 @@ def test_grid_search(): '-T', test_dir, '-R', test_dir, '-w', 'Job.txt', - '-l', '4', '-L', '-1', '-vv', + '-l', '4', '-L', '-1', '-vvv', '--', '--imports', 'bob.io.image', '--dry-run' ] @@ -398,7 +407,8 @@ def test_scripts(): '-a', annotation_file, '-p', 'dummy', '-o', preprocessed_file, - '-c', preprocessed_image + '-c', preprocessed_image, + '-vvv', ] preprocess(parameters) @@ -414,6 +424,7 @@ def test_scripts(): '-e', 'dummy', '-E', extractor_file, '-o', extracted_file, + '-vvv', ] extract(parameters) @@ -427,7 +438,8 @@ def test_scripts(): '-a', 'dummy', '-P', projector_file, '-E', enroller_file, - '-o', model_file + '-o', model_file, + '-vvv', ] enroll(parameters) @@ -441,6 +453,7 @@ def test_scripts(): '-a', 'dummy', '-P', projector_file, '-E', enroller_file, + '-vvv', ] score(parameters) diff --git a/bob/bio/base/tools/algorithm.py b/bob/bio/base/tools/algorithm.py index 86443e516be2f263954de85685966d367772d232..c132ca24aad7379bad2b7bf416a1ecef5ec7844f 100644 --- a/bob/bio/base/tools/algorithm.py +++ b/bob/bio/base/tools/algorithm.py @@ -107,6 +107,7 @@ def project(algorithm, extractor, groups = None, indices = None, force = False): projected_file = str(projected_files[i]) if not utils.check_file(projected_file, force, 1000): + logger.debug("... Projecting features for file '%s'", feature_file) # load feature feature = extractor.read_feature(feature_file) # project feature @@ -115,6 +116,9 @@ def project(algorithm, extractor, groups = None, indices = None, force = False): bob.io.base.create_directories_safe(os.path.dirname(projected_file)) algorithm.write_feature(projected, projected_file) + else: + logger.debug("... Skipping feature file '%s' since projected file '%s' exists", feature_file, projected_file) + def train_enroller(algorithm, extractor, force = False): @@ -200,7 +204,7 @@ def enroll(algorithm, extractor, compute_zt_norm, indices = None, groups = ['dev # the file selector object fs = FileSelector.instance() # read the projector file, if needed - if algorithm.requires_projector_training: + if algorithm.requires_projector_training: algorithm.load_projector(fs.projector_file) # read the model enrollment file algorithm.load_enroller(fs.enroller_file) @@ -225,6 +229,7 @@ def enroll(algorithm, extractor, compute_zt_norm, indices = None, groups = ['dev # Removes old file if required if not utils.check_file(model_file, force, 1000): enroll_files = fs.enroll_files(model_id, group, 'projected' if algorithm.use_projected_features_for_enrollment else 'extracted') + logger.debug("... Enrolling model from %d features to file '%s'", len(enroll_files), model_file) # load all files into memory enroll_features = [reader.read_feature(str(enroll_file)) for enroll_file in enroll_files] @@ -234,6 +239,10 @@ def enroll(algorithm, extractor, compute_zt_norm, indices = None, groups = ['dev bob.io.base.create_directories_safe(os.path.dirname(model_file)) algorithm.write_model(model, model_file) + else: + logger.debug("... Skipping model file '%s' since it exists", model_file) + + # T-Norm-Models if 'T' in types and compute_zt_norm: for group in groups: @@ -251,6 +260,7 @@ def enroll(algorithm, extractor, compute_zt_norm, indices = None, groups = ['dev # Removes old file if required if not utils.check_file(t_model_file, force, 1000): t_enroll_files = fs.t_enroll_files(t_model_id, group, 'projected' if algorithm.use_projected_features_for_enrollment else 'extracted') + logger.debug("... Enrolling T-model from %d features to file '%s'", len(t_enroll_files), t_model_file) # load all files into memory t_enroll_features = [reader.read_feature(str(t_enroll_file)) for t_enroll_file in t_enroll_files] @@ -259,3 +269,5 @@ def enroll(algorithm, extractor, compute_zt_norm, indices = None, groups = ['dev # save model bob.io.base.create_directories_safe(os.path.dirname(t_model_file)) algorithm.write_model(t_model, t_model_file) + else: + logger.debug("... Skipping T-model file '%s' since it exists", t_model_file) diff --git a/bob/bio/base/tools/extractor.py b/bob/bio/base/tools/extractor.py index e608da2e9f59fa06de0c31ad3d4ccc58560a308d..1fe941b6a4ded1cd1a38b9ab121beaaaf8dd9b46 100644 --- a/bob/bio/base/tools/extractor.py +++ b/bob/bio/base/tools/extractor.py @@ -97,6 +97,7 @@ def extract(extractor, preprocessor, groups=None, indices = None, force = False) feature_file = str(feature_files[i]) if not utils.check_file(feature_file, force, 1000): + logger.debug("... Extracting features for data file '%s'", data_file) # load data data = preprocessor.read_data(data_file) # extract feature @@ -104,6 +105,9 @@ def extract(extractor, preprocessor, groups=None, indices = None, force = False) # write feature bob.io.base.create_directories_safe(os.path.dirname(feature_file)) extractor.write_feature(feature, feature_file) + else: + logger.debug("... Skipping preprocessed data '%s' since feature file '%s' exists", data_file, feature_file) + def read_features(file_names, extractor, split_by_client = False): """read_features(file_names, extractor, split_by_client = False) -> extracted diff --git a/bob/bio/base/tools/preprocessor.py b/bob/bio/base/tools/preprocessor.py index dde752f39a99f55249b0df3be20c6a2dff1a231a..c155630e409c3578cd66f22213c6ef294a1bb891 100644 --- a/bob/bio/base/tools/preprocessor.py +++ b/bob/bio/base/tools/preprocessor.py @@ -51,10 +51,11 @@ def preprocess(preprocessor, groups = None, indices = None, force = False): # iterate over the selected files for i in index_range: preprocessed_data_file = str(preprocessed_data_files[i]) + file_name = str(data_files[i]) # check for existence if not utils.check_file(preprocessed_data_file, force, 1000): - file_name = data_files[i] + logger.debug("... Processing original data file '%s'", file_name) data = preprocessor.read_original_data(file_name) # get the annotations; might be None @@ -63,12 +64,16 @@ def preprocess(preprocessor, groups = None, indices = None, force = False): # call the preprocessor preprocessed_data = preprocessor(data, annotations) if preprocessed_data is None: - logger.error("Preprocessing of file %s was not successful", str(file_name)) + logger.error("Preprocessing of file '%s' was not successful", file_name) # write the data bob.io.base.create_directories_safe(os.path.dirname(preprocessed_data_file)) preprocessor.write_data(preprocessed_data, preprocessed_data_file) + else: + logger.debug("... Skipping original data file '%s' since preprocessed data '%s' exists", file_name, preprocessed_data_file) + + def read_preprocessed_data(file_names, preprocessor, split_by_client = False): """read_preprocessed_data(file_names, preprocessor, split_by_client = False) -> preprocessed