This repository contains the source code for the paper DYNAFED: Tackling Client Data Heterogeneity with Global Dynamics. Our paper is accepted by CVPR2023 and is available on arXiv: link.
To use this project, you will need to install the following packages:
- PyTorch:
pip install torch
- wandb:
pip install wandb
- scikit-learn:
pip install scikit-learn
To reproduce the results from our paper, follow these steps:
- Download the datasets (fmnist, cifar, cinic10).
- Train the model by running the following commands:
# cifar10 experiments
bash experiments/cifar10/cifar10_0.01_serverdistill.sh
# cifar100 experiments
bash experiments/cifar100/cifar100_0.01_serverdistill.sh
# cinic10 experiments
bash experiments/cinic10/cinic10_0.01_serverdistill.sh
We would like to give credit to the following repositories for their code and resources that we used in our project:
- Dataset Distillation by Matching Training Trajectories - we were inspired from the source code for distilling data from expert trajectories.
If you use our code or data in your research, please cite our paper. You can use the following BibTeX entry:
@article{pi2022dynafed,
title={DYNAFED: Tackling Client Data Heterogeneity with Global Dynamics},
author={Pi, Renjie and Zhang, Weizhong and Xie, Yueqi and Gao, Jiahui and Wang, Xiaoyu and Kim, Sunghun and Chen, Qifeng},
journal={arXiv preprint arXiv:2211.10878},
year={2022}
}