unc-optimization / FedDR

Implementation of FedDR algorithm for federated learning.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Randomized Douglas-Rachford Splitting Algorithms for Nonconvex Federated Composite Optimization

Introduction

This package is the implementation of FedDR algorithm and its variants along with other federated learning algorithms including FedAvg, FedProx, and FedPD.

The synchronous algorithm is built upon FedProx and the asynchronous one is from distbelief.

Code Usage

We hope that this program will be useful to others, and we would like to hear about your experience with it. If you find it helpful, please consider citing the following publication:

Feel free to send feedback and questions about the package to our maintainer Nhan H. Pham at nhanph@live.unc.edu.

How to run

There are two subfolders:

  • FedDR provides examples to compare synchronous FedDR with FedAvg, FedProx, and FedPD.
  • AsyncFedDR provides examples to compare between synchronous and asynchronous variants of FedDR.

Please see the README.md file in corresponding folder to get instructions of how to run these experimnets.

About

Implementation of FedDR algorithm for federated learning.

License:MIT License


Languages

Language:Python 72.1%Language:Jupyter Notebook 17.4%Language:Shell 10.4%