Pre-packaged federated learning framework using Flower and PyTorch-Lightning.
Project description
LightingFlower
Pre-packaged federated learning framework using Flower and PyTorch-Lightning.
Installation
To install this library, simply run the following command:
pip install lightningflower
Installing the lightningflower framework should automatically install suitable versions of [Flower] and [PyTorch-Lightning].
##Features
Integrated Argument Parser
LightningFlower provides integrated argument parsing for data, server and client handling:
# initialize the argument parser
parser = ArgumentParser()
# Data-specific arguments like batch size
parser = LightningFlowerData.add_data_specific_args(parser)
# Trainer-specific arguments like number of epochs
parser = pl.Trainer.add_argparse_args(parser)
# Client-specific arguments like host address
parser = LightningFlowerClient.add_client_specific_args(parser)
# Parse arguments
args = parser.parse_args()
LightningFlowerBaseStrategy
A basic strategy to enable saving and loading of model weights as well as resuming the training procedure.
Full Pytorch-Lightning Trainer integration
LightningFlower supports full use of the Pytorch-Lighting training routines on federated Flower clients:
# Configure the client trainer
parser = pl.Trainer.add_argparse_args(parser)
args = parser.parse_args()
# Define a Pytorch-Lighting compatible model to train
model = pl.RandomModel()
# Create a client, pass Trainer configuration to and model to client
LightingFlowerClient(model=model, trainer_args=args, ...)
Federated transfer learning / backbone support
LightningFlower enables transfer learning by only transmitting trainable model parameters from server to clients, saving bandwidth and computation time.
ToDo
This is a work in progress.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file lightningflower-0.1.8.tar.gz
.
File metadata
- Download URL: lightningflower-0.1.8.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c74e63007926b337808c5c6699d0d6aef6d120b1cb9c210e72f9a1407c02d6f7 |
|
MD5 | 2ece84a779ea7ef61d32a9a01227ad45 |
|
BLAKE2b-256 | 4333b940c09badb5f57bb9939d6460f94ba49560272c12976851759ba702eb07 |