Coder Social home page Coder Social logo

pguijas / p2pfl Goto Github PK

View Code? Open in Web Editor NEW
37.0 37.0 10.0 43.33 MB

P2P Federated Learning (p2pfl) is a decentralized federated learning library, it allows creating basic federated learning systems on p2p networks using gossip protocols.

Home Page: https://p2pfl.com

License: GNU General Public License v3.0

Python 100.00%
decentralized decentralized-federated-learning deep-learning federated-learning gossip-protocol machine-learning open-source p2p-network python pytorch pytorch-lightning

p2pfl's Introduction

Hi!πŸ‘‹ My name is Pedro Guijas.

  • πŸ“š Graduated in Computer Engineering and currently coursing a Master in Artificial Intelligence at UDC (University of CoruΓ±a).
  • πŸ–₯️ See my portfolio at TO-DO.
  • πŸš€ I'm currently working on p2pfl
  • 🧠 I'm learning Deep Learning Generative Models.
  • ⚑ Despite my main professional focus is Machine Learning, I also love software development.
  • βœ‰οΈ You can contact me at [email protected].

My Skill Set

Python R Node.js Java JavaScript Django Flutter OpenCV TensorFlow Keras pytorch Git LaTeX Linux

Connect with me

Github Stats

Top Repositories








Support Me

p2pfl's People

Contributors

hectorpadin1 avatar pguijas 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  avatar

Watchers

 avatar  avatar  avatar  avatar

p2pfl's Issues

[FUTURE] GRCP

πŸ’‘ The feature, motivation and pitch

communication protocol (pure TCP) to GRCP (https://grpc.io/) migration

  • consider whether it would improve robustness, performance and clarity in code

Alternatives

No response

Additional context

No response

[FUTURE] Simulation Optimization

πŸ’‘ The feature, motivation and pitch

Create a new type of connections that avoids the use of TCP for local simulations.

The single instance pattern should be used and declare this operation as a new connection type.

Alternatives

No response

Additional context

No response

[FUTURE] Node authentication

πŸ’‘ The feature, motivation and pitch

Node authentication to control node access to the network.

Alternatives

No response

Additional context

No response

[BUG] Tolerance to incomplete message reception

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

No response

Expected Behavior

Although highly improbable, it could happen that fragments of (incomplete) messages are read and produce errors.

Steps To Reproduce

No response

Anything else?

No response

In which system are you seeing the problem on?

No response

[FUTURE] Secure Agregation

πŸ’‘ The feature, motivation and pitch

Include Secure Agregation for an additional privacy layer

Alternatives

No response

Additional context

No response

[FUTURE] TensorFlow support

πŸ’‘ The feature, motivation and pitch

TensorFlow support

Alternatives

No response

Additional context

No response

Be careful with the port number

At this moment, in p2pfl/base_node.py and p2pfl/node.py, they have as default port 0. Instead, you should put something not reserve by the system and which is not on the well-known ports.

For example you can iniciate it to None and made this check before open any one.

def __init__(self, host="127.0.0.1", port=None, simulation=True):
     port = port if port is not None else choose_random_port()

[BUG] Votes not associated with rounds

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Votes not associated with rounds

Expected Behavior

Associate votes to rounds, so that if delays occur and votes arrive when rounds have already been executed, discrepancies do not occur.

Steps To Reproduce

No response

Anything else?

No response

In which system are you seeing the problem on?

No response

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.