partitioned_cifar#
Module Contents#
|
- class PartitionCIFAR(root, path, dataname, num_clients, download=True, preprocess=False, balance=True, partition='iid', unbalance_sgm=0, num_shards=None, dir_alpha=None, verbose=True, seed=None, transform=None, target_transform=None)#
Bases:
fedlab.contrib.dataset.basic_dataset.FedDatasetFedDatasetwith partitioning preprocess. For detailed partitioning, please check Federated Dataset and DataPartitioner.- Parameters
root (str) – Path to download raw dataset.
path (str) – Path to save partitioned subdataset.
dataname (str) – “cifar10” or “cifar100”
num_clients (int) – Number of clients.
download (bool) – Whether to download the raw dataset.
preprocess (bool) – Whether to preprocess the dataset.
balance (bool, optional) – Balanced partition over all clients or not. Default as
True.partition (str, optional) – Partition type, only
"iid",shards,"dirichlet"are supported. Default as"iid".unbalance_sgm (float, optional) – Log-normal distribution variance for unbalanced data partition over clients. Default as
0for balanced partition.num_shards (int, optional) – Number of shards in non-iid
"shards"partition. Only works ifpartition="shards". Default asNone.dir_alpha (float, optional) – Dirichlet distribution parameter for non-iid partition. Only works if
partition="dirichlet". Default asNone.verbose (bool, optional) – Whether to print partition process. Default as
True.seed (int, optional) – Random seed. Default as
None.transform (callable, optional) – A function/transform that takes in an PIL image and returns a transformed version.
target_transform (callable, optional) – A function/transform that takes in the target and transforms it.
- preprocess(balance=True, partition='iid', unbalance_sgm=0, num_shards=None, dir_alpha=None, verbose=True, seed=None, download=True)#
Perform FL partition on the dataset, and save each subset for each client into
data{cid}.pklfile.For details of partition schemes, please check Federated Dataset and DataPartitioner.
- get_dataset(cid, type='train')#
Load subdataset for client with client ID
cidfrom local file.