This repository provides the design and implementation details for our proposed method, FedRoLA.
Prerequisites
- Python 3.5+
- PyTorch
- CUDA environment
- ./Main.py: Contains configuration settings and the basic framework for Federated Learning.
- ./Sim.py: Describes simulators for clients and the central server.
- ./Utils.py: Includes necessary functions and provides guidance on obtaining training and testing data.
- ./Settings.py: Specifies the required packages and settings.
- ./Attacks.py: Contains the code for model poisoning attack algorithms.
- ./Defenses.py: Inlcudes the code for defense algorithms.
- To execute the algorithms, run the ./Main.py file using the following command:
python3 ./Main.py
- Adjust the parameters and configurations within the ./Main.py file to suit your specific needs.
If you use the simulator or some results in our paper for a published project, please cite our work by using the following bibtex entry
@inproceedings{yan2024fedrola,
title={FedRoLA: Robust Federated Learning Against Model Poisoning via Layer-based Aggregation},
author={Gang Yan, Hao Wang, Xu Yuan and Jian Li},
booktitle={Proc. of ACM SIGKDD},
year={2024}
}