예제 #1
0
def test_csv_file_list_dev_only_metadata():

    dataset = CSVDataset(
        name="example_csv_filelist",
        dataset_protocol_path=example_dir,
        protocol="protocol_only_dev_metadata",
    )
    assert len(dataset.background_model_samples()) == 8

    assert check_all_true(dataset.background_model_samples(), DelayedSample)
    assert np.alltrue(
        ["metadata_1" in s.__dict__ for s in dataset.background_model_samples()]
    )
    assert np.alltrue(
        ["metadata_2" in s.__dict__ for s in dataset.background_model_samples()]
    )

    assert len(dataset.references()) == 2
    assert check_all_true(dataset.references(), SampleSet)
    assert np.alltrue(
        ["metadata_1" in s.__dict__ for s in dataset.references()]
    )
    assert np.alltrue(
        ["metadata_2" in s.__dict__ for s in dataset.references()]
    )

    assert len(dataset.probes()) == 10
    assert check_all_true(dataset.probes(), SampleSet)
    assert np.alltrue(["metadata_1" in s.__dict__ for s in dataset.probes()])
    assert np.alltrue(["metadata_2" in s.__dict__ for s in dataset.probes()])
    assert np.alltrue(["references" in s.__dict__ for s in dataset.probes()])
예제 #2
0
def test_csv_file_list_dev_only():

    dataset = CSVDataset(
        name="example_csv_filelist",
        dataset_protocol_path=example_dir,
        protocol="protocol_only_dev",
    )
    assert len(dataset.background_model_samples()) == 8
    assert check_all_true(dataset.background_model_samples(), DelayedSample)

    assert len(dataset.references()) == 2
    assert check_all_true(dataset.references(), SampleSet)

    assert len(dataset.probes()) == 10
    assert check_all_true(dataset.probes(), SampleSet)
예제 #3
0
    def run(filename):

        dataset = CSVDataset(
            name="example_csv_filelist",
            dataset_protocol_path=filename,
            protocol="protocol_dev_eval",
            csv_to_sample_loader=make_pipeline(
                CSVToSampleLoaderBiometrics(
                    data_loader=bob.io.base.load,
                    dataset_original_directory="",
                    extension="",
                ),
                AnnotationsLoader(
                    annotation_directory=annotation_directory,
                    annotation_extension=".json",
                    annotation_type="json",
                ),
            ),
        )
        assert len(dataset.background_model_samples()) == 8
        assert check_all_true(dataset.background_model_samples(), DelayedSample)

        assert len(dataset.references()) == 2
        assert check_all_true(dataset.references(), SampleSet)

        assert len(dataset.probes()) == 8
        assert check_all_true(dataset.references(), SampleSet)

        assert len(dataset.references(group="eval")) == 6
        assert check_all_true(dataset.references(group="eval"), SampleSet)

        assert len(dataset.probes(group="eval")) == 13
        assert check_all_true(dataset.probes(group="eval"), SampleSet)

        assert len(dataset.all_samples(groups=None)) == 47
        assert check_all_true(dataset.all_samples(groups=None), DelayedSample)

        # Check the annotations
        for s in dataset.all_samples(groups=None):
            assert isinstance(s.annotations, dict)

        assert len(dataset.reference_ids(group="dev")) == 2
        assert len(dataset.reference_ids(group="eval")) == 6

        assert len(dataset.groups()) == 3
예제 #4
0
def test_csv_file_list_atnt():

    dataset = CSVDataset(
        name="atnt",
        dataset_protocol_path=atnt_protocol_path,
        protocol="idiap_protocol",
    )
    assert len(dataset.background_model_samples()) == 200
    assert len(dataset.references()) == 20
    assert len(dataset.probes()) == 100
    assert len(dataset.all_samples(groups=["train"])) == 200
    assert len(dataset.all_samples(groups=["dev"])) == 200
    assert len(dataset.all_samples(groups=None)) == 400
예제 #5
0
def test_lst_file_list_dev_eval_sparse():

    dataset = CSVDataset(
        name="example_filelist",
        dataset_protocol_path=legacy_example_dir,
        protocol="",
        csv_to_sample_loader=LSTToSampleLoader(
            data_loader=bob.io.base.load,
            dataset_original_directory="",
            extension="",
        ),
        is_sparse=True,
    )

    assert len(dataset.background_model_samples()) == 8

    assert check_all_true(dataset.background_model_samples(), DelayedSample)

    assert len(dataset.references()) == 2
    assert check_all_true(dataset.references(), SampleSet)

    assert len(dataset.probes()) == 8
    assert check_all_true(dataset.references(), SampleSet)

    assert len(dataset.references(group="eval")) == 2
    assert check_all_true(dataset.references(group="eval"), SampleSet)

    assert len(dataset.probes(group="eval")) == 8
    assert check_all_true(dataset.probes(group="eval"), SampleSet)

    assert len(dataset.all_samples(groups=None)) == 44
    assert check_all_true(dataset.all_samples(groups=None), DelayedSample)

    assert len(dataset.reference_ids(group="dev")) == 2
    assert len(dataset.reference_ids(group="eval")) == 2

    assert len(dataset.groups()) == 3
예제 #6
0
def test_lst_file_list_dev_sparse_filelist2():

    dataset = CSVDataset(
        name="example_filelist2",
        dataset_protocol_path=legacy2_example_dir,
        protocol="",
        csv_to_sample_loader=LSTToSampleLoader(
            data_loader=bob.io.base.load,
            dataset_original_directory="",
            extension="",
        ),
        is_sparse=True,
    )

    assert len(dataset.references()) == 3
    assert check_all_true(dataset.references(), SampleSet)

    assert len(dataset.probes()) == 9
    assert check_all_true(dataset.references(), SampleSet)
예제 #7
0
def test_csv_file_list_dev_eval_sparse():

    annotation_directory = os.path.realpath(
        bob.io.base.test_utils.datafile(
            ".", __name__, "data/example_csv_filelist/annotations"
        )
    )

    dataset = CSVDataset(
        name="example_csv_filelist",
        dataset_protocol_path=example_dir,
        protocol="protocol_dev_eval_sparse",
        csv_to_sample_loader=make_pipeline(
            CSVToSampleLoaderBiometrics(
                data_loader=bob.io.base.load,
                dataset_original_directory="",
                extension="",
            ),
            AnnotationsLoader(
                annotation_directory=annotation_directory,
                annotation_extension=".json",
                annotation_type="json",
            ),
        ),
        is_sparse=True,
    )

    assert len(dataset.background_model_samples()) == 8
    assert check_all_true(dataset.background_model_samples(), DelayedSample)

    assert len(dataset.references()) == 2
    assert check_all_true(dataset.references(), SampleSet)

    probes = dataset.probes()
    assert len(probes) == 8

    # here, 1 comparisons comparison per probe
    for p in probes:
        assert len(p.references) == 1
    assert check_all_true(dataset.references(), SampleSet)

    assert len(dataset.references(group="eval")) == 6
    assert check_all_true(dataset.references(group="eval"), SampleSet)

    probes = dataset.probes(group="eval")
    assert len(probes) == 13
    assert check_all_true(probes, SampleSet)
    # Here, 1 comparison per probe, EXPECT THE FIRST ONE
    for i, p in enumerate(probes):
        if i == 0:
            assert len(p.references) == 2
        else:
            assert len(p.references) == 1

    assert len(dataset.all_samples(groups=None)) == 48
    assert check_all_true(dataset.all_samples(groups=None), DelayedSample)

    # Check the annotations
    for s in dataset.all_samples(groups=None):
        assert isinstance(s.annotations, dict)

    assert len(dataset.reference_ids(group="dev")) == 2
    assert len(dataset.reference_ids(group="eval")) == 6

    assert len(dataset.groups()) == 3