diff --git a/datasets/flwr_datasets/federated_dataset.py b/datasets/flwr_datasets/federated_dataset.py index 7514516e09e7..ecdaa1653e12 100644 --- a/datasets/flwr_datasets/federated_dataset.py +++ b/datasets/flwr_datasets/federated_dataset.py @@ -85,6 +85,7 @@ class FederatedDataset: >>> centralized = fds.load_split("test") Use CIFAR10 dataset for Federated Laerning with 100 clients: + >>> from flwr_datasets import FederatedDataset >>> from flwr_datasets.partitioner import DirichletPartitioner >>> @@ -93,7 +94,8 @@ class FederatedDataset: >>> fds = FederatedDataset(dataset="cifar10", partitioners={"train": partitioner}) >>> partition = fds.load_partition(partition_id=0) - Visualize the partitioned datasets + Visualize the partitioned datasets: + >>> from flwr_datasets.visualization import plot_label_distributions >>> >>> _ = plot_label_distributions( diff --git a/datasets/flwr_datasets/partitioner/dirichlet_partitioner.py b/datasets/flwr_datasets/partitioner/dirichlet_partitioner.py index f3feb2174bde..dce208419181 100644 --- a/datasets/flwr_datasets/partitioner/dirichlet_partitioner.py +++ b/datasets/flwr_datasets/partitioner/dirichlet_partitioner.py @@ -78,7 +78,7 @@ class DirichletPartitioner(Partitioner): >>> print(partition[0]) # Print the first example {'image': , 'label': 4} - >>> partition_sizes = partition_sizes = [ + >>> partition_sizes = [ >>> len(fds.load_partition(partition_id)) for partition_id in range(10) >>> ] >>> print(sorted(partition_sizes)) diff --git a/datasets/flwr_datasets/partitioner/exponential_partitioner.py b/datasets/flwr_datasets/partitioner/exponential_partitioner.py index d35944f29f6f..5d9f34352af1 100644 --- a/datasets/flwr_datasets/partitioner/exponential_partitioner.py +++ b/datasets/flwr_datasets/partitioner/exponential_partitioner.py @@ -35,6 +35,15 @@ class ExponentialPartitioner(SizePartitioner): ---------- num_partitions : int The total number of partitions that the data will be divided into. + + Examples + -------- + >>> from flwr_datasets import FederatedDataset + >>> from flwr_datasets.partitioner import ExponentialPartitioner + >>> + >>> partitioner = ExponentialPartitioner(num_partitions=10) + >>> fds = FederatedDataset(dataset="mnist", partitioners={"train": partitioner}) + >>> partition = fds.load_partition(0) """ def __init__(self, num_partitions: int) -> None: diff --git a/datasets/flwr_datasets/partitioner/iid_partitioner.py b/datasets/flwr_datasets/partitioner/iid_partitioner.py index ceddd386c7d3..f0f470072eb5 100644 --- a/datasets/flwr_datasets/partitioner/iid_partitioner.py +++ b/datasets/flwr_datasets/partitioner/iid_partitioner.py @@ -26,6 +26,15 @@ class IidPartitioner(Partitioner): ---------- num_partitions : int The total number of partitions that the data will be divided into. + + Examples + -------- + >>> from flwr_datasets import FederatedDataset + >>> from flwr_datasets.partitioner import IidPartitioner + >>> + >>> partitioner = IidPartitioner(num_partitions=10) + >>> fds = FederatedDataset(dataset="mnist", partitioners={"train": partitioner}) + >>> partition = fds.load_partition(0) """ def __init__(self, num_partitions: int) -> None: diff --git a/datasets/flwr_datasets/partitioner/linear_partitioner.py b/datasets/flwr_datasets/partitioner/linear_partitioner.py index 84d419ab5592..840307edcac6 100644 --- a/datasets/flwr_datasets/partitioner/linear_partitioner.py +++ b/datasets/flwr_datasets/partitioner/linear_partitioner.py @@ -29,6 +29,15 @@ class LinearPartitioner(SizePartitioner): ---------- num_partitions : int The total number of partitions that the data will be divided into. + + Examples + -------- + >>> from flwr_datasets import FederatedDataset + >>> from flwr_datasets.partitioner import LinearPartitioner + >>> + >>> partitioner = LinearPartitioner(num_partitions=10) + >>> fds = FederatedDataset(dataset="mnist", partitioners={"train": partitioner}) + >>> partition = fds.load_partition(0) """ def __init__(self, num_partitions: int) -> None: diff --git a/datasets/flwr_datasets/partitioner/natural_id_partitioner.py b/datasets/flwr_datasets/partitioner/natural_id_partitioner.py index f71d7004b42b..5a9af3271cb4 100644 --- a/datasets/flwr_datasets/partitioner/natural_id_partitioner.py +++ b/datasets/flwr_datasets/partitioner/natural_id_partitioner.py @@ -37,6 +37,7 @@ class NaturalIdPartitioner(Partitioner): Examples -------- "flwrlabs/shakespeare" dataset + >>> from flwr_datasets import FederatedDataset >>> from flwr_datasets.partitioner import NaturalIdPartitioner >>> @@ -46,6 +47,7 @@ class NaturalIdPartitioner(Partitioner): >>> partition = fds.load_partition(0) "sentiment140" (aka Twitter) dataset + >>> from flwr_datasets import FederatedDataset >>> from flwr_datasets.partitioner import NaturalIdPartitioner >>> diff --git a/datasets/flwr_datasets/partitioner/square_partitioner.py b/datasets/flwr_datasets/partitioner/square_partitioner.py index 4c894e47eedf..0fa0a0803a0e 100644 --- a/datasets/flwr_datasets/partitioner/square_partitioner.py +++ b/datasets/flwr_datasets/partitioner/square_partitioner.py @@ -31,6 +31,15 @@ class SquarePartitioner(SizePartitioner): ---------- num_partitions : int The total number of partitions that the data will be divided into. + + Examples + -------- + >>> from flwr_datasets import FederatedDataset + >>> from flwr_datasets.partitioner import SquarePartitioner + >>> + >>> partitioner = SquarePartitioner(num_partitions=10) + >>> fds = FederatedDataset(dataset="mnist", partitioners={"train": partitioner}) + >>> partition = fds.load_partition(0) """ def __init__(self, num_partitions: int) -> None: