digicatapult / dc-federated

A python library for federated learning supporting consortium scale deployment.
Apache License 2.0
8 stars 8 forks source link

Fix Issue #7 #9

Open lukeellison-dc opened 2 years ago

lukeellison-dc commented 2 years ago

name: Fix issue 7 about: Federated learning blocks on Linux machines.

Summary

Allows for the running of the web server and model aggregation in separate processes so as not to have conflicts between pytorch and gevent causing blocking.

Motivation

This means that the library works on Linux machines without the use of workarounds.

Describe alternatives you've considered

  1. This workaround to convert to numpy arrays and back is a simpler solution but less efficient.
  2. Using base linux sockets rather than ZMQ would reduce dependencies but would make for a more complex codebase potentially increasing mistakes.
  3. Not separating into multiple process but instead relying on threading or multiprocessing does not solve the problem due to gevent modifying global dependencies.

Additional context