Skip to content

[declearn]

Declearn - a python package for private decentralized learning.

Declearn is a modular framework to set up and run federated learning processes. It is being developed by the MAGNET team of INRIA Lille, with the aim of providing users with a modular and extensible framework to implement federated learning algorithms and apply them to real-world (or simulated) data using any common machine learning framework.

Declearn provides with abstractions that enable algorithms to be written agnostic to the actual computation framework as well as with workable interfaces that cover some of the most popular frameworks, such as Scikit-Learn, TensorFlow and PyTorch.

The package is organized into the following submodules:

  • aggregator: Model updates aggregating API and implementations.
  • communication: Client-Server network communications API and implementations.
  • data_info: Tools to write and extend shareable metadata fields specifications.
  • dataset: Data interfacing API and implementations.
  • main: Main classes implementing a Federated Learning process.
  • messaging: API and default classes to define parsable messages for applications.
  • metrics: Iterative and federative evaluation metrics computation tools.
  • model: Model interfacing API and implementations.
  • optimizer: Framework-agnostic optimizer and algorithmic plug-ins API and tools.
  • typing: Type hinting utils, defined and exposed for code readability purposes.
  • utils: Shared utils used (extensively) across all of declearn.
  • version: DecLearn version information, as hard-coded constants.