Skip to content
/ HDPFL Public

Codes for the "Noise-Aware Algorithm for Heterogeneous Differentially Private Federated Learning" paper (ICML 2024)

Notifications You must be signed in to change notification settings

Saber-mm/HDPFL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Noise-Aware Algorithm for Heterogeneous Differentially Private Federated Learning, ICML 2024 (PyTorch)

Experiments in the main paper are produced on MNIST, FMNIST, CIFAR10 and CIFAR100.

The purpose of these experiments is to illustrate the effectiveness of the aggregation strategy explained in the paper, which works based on estimation of the noise level in clients' model updates by using RPCA algorithm.

Requirments

Install the following packages

  • python3
  • pytorch
  • torchvision
  • numpy
  • pickle

Data

  • The data will be automatically downloaded, when the file "algs/HDPFL.py" is run with its required arguments.

Experiments

  • For codes and configurations regarding the experiments go to the "algs/HDPFL.py" file. Most of the arguments have some default value as well as a short description. Dont forget to use --iid in your commands when running "algs/HDPFL.py", if you want to have an iid data split.

Output and Plot

  • Outputs of the experiment will be stored in a directory in "results/" directory by default. You can access the files and plot them afterwards by writing your own plotting script.
  • When running "algs/HDPFL.py", remember to modify the output directory (--output_dir= ...) in the code according to your demand so that if you run multiple process at once with different arguments, the output files won't be overwritten.

About

Codes for the "Noise-Aware Algorithm for Heterogeneous Differentially Private Federated Learning" paper (ICML 2024)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages