This Article Is Based On The Research Article 'Flower 0.19 Release'. All Credit For This Research Goes To The Researchers of This Project 👏👏👏 Please Don't Forget To Join Our ML Subreddit
Flower 0.19 is now accessible! The current Flower release has more updates than previous versions.
Upgrading to Flower 0.19 is easy:
pip install -U flwr
The first Flower Baselines preview release has come! With the implementations of FedOpt (FedYogi, FedAdam, and FedAdagrad), FedBN, and FedAvgM, Flower Baselines are launched. Consult the Flower Baselines manual to learn how to use the tool. The community is invited to provide their baselines with this initial release candidate.
- (Preview) C++ client SDK with code example
Preview support for C++-written Flower clients. The C++ preview contains a Flower client SDK and a quickstart code example demonstrating a simple C++ client utilizing the SDK.
- Add experimental support for Python versions 3.10 and 3.11.
Python 3.10 is the most recent stable version, and Python 3.11 will be published in October. This release of Flower adds experimental support for both versions of Python.
- Utilize user-defined routines to aggregate custom metrics
Custom metrics (such as accuracy) can now be aggregated without strategy customization. Two additional arguments, fit metrics aggregation fn and evaluate metrics aggregation fn, let custom metric aggregation functions be sent to built-in strategies.
- Round timeout customizable by the user
A new configuration variable permits the round timeout for the start server and start simulation to be configured. If the configuration dictionary contains the round timeout key (with a floating-point value in seconds), the server will wait at least round timeout seconds before closing the connection.
- Permit the concurrent usage of federated evaluation and centralized evaluation in all built-in techniques
Integrated strategies can now perform federated evaluation (client-side) and centralized evaluation (server-side) in the same round. Federated evaluation can be deactivated by setting fraction eval to 0.
- Two supplementary Jupyter Notebook tutorials
Two Jupyter Notebook lessons (compatible with Google Colab) describe fundamental and advanced Flower characteristics:
An Introduction to Federated Learning: Open in Colab
Using Federated Learning Strategies: Open in Colab
The new FedAvgM approach integrates Federated Averaging with Server Momentum.
- A new advanced example of PyTorch code
A new code snippet (advanced pytorch) illustrates progressive Flower ideas using PyTorch.
A new sample of code (jax from centralized to federated) demonstrates federated learning using JAX and Flower.
- Minor revisions
- New option to continue Ray’s execution if initialized in start simulation – Link
- Add ClientManager customization support to the start simulation parameter – Link
- New theme for mobile-friendly docs – Link
- Limit ray-dependent version range to include only compatible releases (>=1.9.2,1.12.0) – Link
- Remove deprecated Python 3.6 support – Link
- Remove obsolete KerasClient – Link
- Remove obsolete, non-essential additional installs – Link
- Remove obsolete proto fields from the FitRes and EvaluateRes structures – Link
- Remove the outdated QffedAvg strategy, which QFedAvg has superseded – Link
- Remove the obsolete Default strategy – Link
- Remove support for deprecated eval fn accuracy return value – Link
- Eliminate obsolete capability for sending starting arguments as NumPy ndarrays – Link