Coder Social home page Coder Social logo

berivanisik / sparse-random-networks Goto Github PK

View Code? Open in Web Editor NEW
27.0 2.0 2.0 29 KB

Implementation of the FedPM framework by the authors of the ICLR 2023 paper "Sparse Random Networks for Communication-Efficient Federated Learning".

License: MIT License

Python 100.00%
compression deep-learning distributed-learning federated-learning pruning sparse-network

sparse-random-networks's Introduction

Sparse-Random-Networks-for-Communication-Efficient-Federated-Learning

PyTorch implementation of the FedPM framework by the authors of the ICLR 2023 paper "Sparse Random Networks for Communication-Efficient Federated Learning".

Sparse Random Networks for Communication-Efficient Federated Learning
Berivan Isik, Francesco Pase, Deniz Gunduz, Tsachy Weissman, Michele Zorzi
International Conference on Learning Representations (ICLR), 2023.

Environment setup:

Packages can be found in fedpm.yml.

Training:

Set the params_path in main.py to the the path of the {}.yaml file with the desired model and dataset. The default parameters can be found in the provided {}.yaml files. To train the model, run:

python3 main.py

References

If you find this work useful in your research, please consider citing our paper:

@inproceedings{
isik2023sparse,
title={Sparse Random Networks for Communication-Efficient Federated Learning},
author={Berivan Isik and Francesco Pase and Deniz Gunduz and Tsachy Weissman and Zorzi Michele},
booktitle={The Eleventh International Conference on Learning Representations },
year={2023},
url={https://openreview.net/forum?id=k1FHgri5y3-}
}

sparse-random-networks's People

Contributors

berivanisik avatar francescopase avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sparse-random-networks's Issues

upload_mask

Why use "updates_s = np.where(updates_s == 0, self.epsilon, updates_s) " and "updates_s = np.where(updates_s == 1, 1-self.epsilon, updates_s)"?
It may be not binary mask upload from client to server ,which causes the same communication cost as standard FL

Question Regarding the Use of Inverse Sigmoid Function in Mask Aggregation

Hi,

Firstly, I want to express my gratitude for sharing your code. It has been incredibly beneficial to my work, and I appreciate the opportunity to learn from your approach.

I have a question about a specific part of the implementation, particularly regarding the aggregation of masks. I noticed that you introduced an inverse sigmoid function (logit) during the mask aggregation process.

torch.log(avg_p / (1 - avg_p)),

Could you kindly explain the rationale behind this choice? I'm interested in understanding the advantages or the specific problems it addresses in the context of federated learning or the particular application you designed it for.

Understanding your reasoning would be immensely helpful for me to grasp the full scope and depth of your methodology.

Thank you for your time and for sharing your valuable work.

Best regards,

Ken

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.