/pyfl

A framework for decentralized ML

Primary LanguagePythonMIT LicenseMIT

PyFL

An implementation of the paper "Towards Federated Learning at scale: System Design" in PyTorch

Architecture

The two major components of FL - Server, Device

Server

  • Coordinator
  • Selector
  • Aggregator
  • Master Aggregator

Device

Explain device here

Communation

  • Message definitions
  • Message class
  • Commincator class

Algorithms

FedAvg

Explain fedavg here

How to run ?

commands here

To Do

  • Gradient compression
  • Secure byzantine learning
  • Enable distillation
  • Check optimiser modification in training
  • Message synchronisation methods
  • Check if logger can display device #
  • Eliminate the ready alive class
  • Polling pipe ?
  • Better Message class organisation
  • Comment out functions