This is the official Pytorch implementation of our paper PerFedMask: Personalized Federated Learning with Optimized Masking Vectors accepted in ICLR 2023.
First check the requirements as follows:
python=3.7
numpy=1.17.0
pytorch=1.12.1
cudatoolkit = 11.3.1
wandb=0.12.19
torchvision=0.13.1
cvxpy=1.1.11
mosek=9.2.40
Then clone the repository as follows:
git clone https://github.com/MehdiSet/PerFedMask.git
We conduct our experiments on CIFAR-10, CIFAR-100, and DomainNet datasets using ResNet (PreResNet18), MobileNet , and AlexNet, respectively. Please download the datasets and place them under data/
directory.
If you find our paper and code useful, please cite our paper as follows:
@inproceedings{setayesh2023perfedmask,
title={PerFedMask: {Personalized} Federated Learning with Optimized Masking Vectors},
author={Setayesh, Mehdi and Li, Xiaoxiao and W.S. Wong, Vincent},
booktitle={Proc. of International Conference on Learning Representations (ICLR)},
address={Kigali, Rwanda},
month={May},
year={2023}
}
Please feel free to contact us if you have any questions:
- Mehdi Setayesh: setayeshm@ece.ubc.ca
This codebase was adapted from https://github.com/illidanlab/SplitMix and https://github.com/jhoon-oh/FedBABU.