Federated Learning Framework ‘Flower’ Has Released V.0.19 With A Lot of New Updates

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

What’s fresh:

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 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.

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.

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.

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 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 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 documentation for strategies’ implementation – Link1, Link2
  • New theme for mobile-friendly docs – Link
  • Limit ray-dependent version range to include only compatible releases (>=1.9.2,1.12.0) – Link

Incompatible changes:

  • 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

Source: https://flower.dev/blog/2022-05-18-flower-0.19-release