FedProxFEMNIST#
- class fl_sim.data_processing.FedProxFEMNIST(datadir: str | Path | None = None, transform: str | Callable | None = 'none', seed: int = 0, **extra_config: Any)#
-
A subset of the federeated EMNIST proposed in FedProx.
This dataset is proposed in the FedProx paper [1] and used in the FedDR paper [2].
The FEMNIST data we used in the paper is a subsampled (and repartitioned) version of the original full dataset in order to impose additional statistical heterogeneity. The above dataset is generated by the following instruction: ...
NOTE that this dataset is not the same as the original FEMNIST dataset, containing only 10 classes (a-j), instead of 62 classes (a-z, A-Z, 0-9). The raw data has been processed using min-max normalization to range [0, 1], hence any further augmentation is perhaps inappropriate.
- 参数:
datadir (Union[pathlib.Path, str], optional) -- Directory to store data. If
None, use default directory.transform (Union[str, Callable], default "none") -- Transform to apply to data. Conventions:
"none"means no transform, using TensorDataset.seed (int, default 0) -- Random seed for data partitioning.
**extra_config (dict, optional) -- Extra configurations.
引用
- evaluate(probs: Tensor, truths: Tensor) Dict[str, float][源代码]#
Evaluation using predictions and ground truth.
- 参数:
probs (torch.Tensor) -- Predicted probabilities.
truths (torch.Tensor) -- Ground truth labels.
- 返回:
Evaluation results.
- 返回类型:
- get_dataloader(train_bs: int | None = None, test_bs: int | None = None, client_idx: int | None = None) Tuple[DataLoader, DataLoader][源代码]#
Get local dataloader at client client_idx or get the global dataloader.
- 参数:
train_bs (int, optional) -- Batch size for training dataloader. If
None, use default batch size.test_bs (int, optional) -- Batch size for testing dataloader. If
None, use default batch size.client_idx (int, optional) -- Index of the client to get dataloader. If
None, get the dataloader containing all data. Usually used for centralized training.
- 返回:
train_dl (
torch.utils.data.DataLoader) -- Training dataloader.test_dl (
torch.utils.data.DataLoader) -- Testing dataloader.
- property mirrors: List[Tuple[str, str | None]]#
Download mirrors as (url, md5) pairs, tried in order.