This is the pytorch implementation of the paper "Tackling Multiplayer Interaction for Federated Generative Adversarial Networks".
This project bases on PFLlib: Personalized Federated Learning Algorithm Library. We modify sending and aggregation functions to support training federated Generative Adversarial Networks (federated GANs). We call our federated GAN system Oasis for Orchestrating Generative Adversarial Networks in Federated Learning Paradigms.
So far, Oasis supports GAN models including MLPGAN, DCGAN and U-NetGAN.
Oasis implements four Federated Learning Algorithm: FedAvg, FedProx, Ditto, and Ours (in this project, we call it FedSim and FedSim2).
The datasets include MNIST, CIfar10, and CelebA, which can be downloaded from their offical website.
The folder dataset
includes the code to split data into clients.
The folder system
is Oasis core code. Inside it, the folder clients
and servers
are the core algorithms. The folder stl
includes the Self-taight Learning
code. The folder trainmodel
includes the GAN models we used.
A simple example:
cd ./system
python main.py -data mnist -algo FedAvg -gr 2500 -ls 5
For more parameter settings please see the argparse
in the main.py
.