Skip to content

Commit

Permalink
feat(datasets) Add tests for femnist dataset (#3840)
Browse files Browse the repository at this point in the history
  • Loading branch information
adam-narozniak authored Jul 18, 2024
1 parent ddb1eec commit f6c659e
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
35 changes: 34 additions & 1 deletion datasets/flwr_datasets/federated_dataset_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
from datasets import Dataset, DatasetDict, concatenate_datasets
from flwr_datasets.federated_dataset import FederatedDataset
from flwr_datasets.mock_utils_test import _load_mocked_dataset
from flwr_datasets.partitioner import IidPartitioner, Partitioner
from flwr_datasets.partitioner import IidPartitioner, NaturalIdPartitioner, Partitioner

mocked_datasets = ["cifar100", "svhn", "sentiment140", "speech_commands"]

Expand Down Expand Up @@ -400,6 +400,39 @@ def test_mixed_type_partitioners_creates_from_int(self) -> None:
)


natural_id_datasets = [
"flwrlabs/femnist",
]


@parameterized_class(
("dataset_name", "test_split", "subset", "partition_by"),
[
("flwrlabs/femnist", "", "", "writer_id"),
],
)
class NaturalIdPartitionerIntegrationTest(unittest.TestCase):
"""General FederatedDataset tests with NaturalIdPartitioner."""

dataset_name = ""
test_split = ""
subset = ""
partition_by = ""

def test_if_the_partitions_have_unique_values(self) -> None:
"""Test if each partition has a single unique id value."""
fds = FederatedDataset(
dataset=self.dataset_name,
partitioners={
"train": NaturalIdPartitioner(partition_by=self.partition_by)
},
)
for partition_id in range(fds.partitioners["train"].num_partitions):
partition = fds.load_partition(partition_id)
unique_ids_in_partition = list(set(partition[self.partition_by]))
self.assertEqual(len(unique_ids_in_partition), 1)


class IncorrectUsageFederatedDatasets(unittest.TestCase):
"""Test incorrect usages in FederatedDatasets."""

Expand Down
1 change: 1 addition & 0 deletions datasets/flwr_datasets/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"svhn",
"sentiment140",
"speech_commands",
"flwrlabs/femnist",
"jlh/uci-mushrooms",
"Mike0307/MNIST-M",
"flwrlabs/usps",
Expand Down

0 comments on commit f6c659e

Please sign in to comment.