This is the implementation of our paper Eliminating Domain Bias for Federated Learning in Representation Space (accepted by NeurIPS 2023). It can improve bi-directional knowledge transfer between the server and clients. We show the code of the representative FedAvg+DBE (FedDBE).
Takeaway: locally store biased knowledge in the personalized vector PRBM (red). See below:
Citation
@article{zhang2023eliminating,
title={Eliminating domain bias for federated learning in representation space},
author={Zhang, Jianqing and Hua, Yang and Cao, Jian and Wang, Hao and Song, Tao and Xue, Zhengui and Ma, Ruhui and Guan, Haibing},
journal={Advances in Neural Information Processing Systems},
volume={36},
year={2023}
}
Due to the file size limitation, we only upload the fmnist dataset with the default practical setting (
main.py: configurations of FedDBE.run_me.sh: command lines to start FedDBE.env_linux.yaml: python environment to run FedDBE on Linux../flcore:./clients/clientDBE.py: the code on the client../servers/serverDBE.py: the code on the server../trainmodel/models.py: the code for models.
./utils:data_utils.py: the code to read the dataset.
All codes corresponding to FedDBE are stored in ./system. Just run the following commands.
cd ./system
sh run_me.sh
