Share this post
The Flower Team is excited to announce the release of Flower 1.3 stable. Flower is a friendly framework for collaborative AI and data science. It makes novel approaches such as federated learning, federated evaluation, federated analytics, and fleet learning accessible to a wide audience of researchers and engineers.
We would like to give our special thanks to all the contributors who made the new version of Flower possible (in git shortlog order):
Adam Narozniak, Alexander Viala Bellander, Charles Beauville, Daniel J. Beutel, JDRanpariya, Lennart Behme, Taner Topal
Add support for workload_id and group_id in Driver API (#1595)
The (experimental) Driver API now supports a workload_id that can be used to identify which workload a task belongs to. It also supports a new group_id that can be used, for example, to indicate the current training round. Both the workload_id and group_id enable client nodes to decide whether they want to handle a task or not.
Make Driver API and Fleet API address configurable (#1637)
The (experimental) long-running Flower server (Driver API and Fleet API) can now configure the server address of both Driver API (via --driver-api-address) and Fleet API (via --fleet-api-address) when starting:
flower-server --driver-api-address "0.0.0.0:8081" --fleet-api-address "0.0.0.0:8086"
Both IPv4 and IPv6 addresses are supported.
Add new example of Federated Learning using fastai and Flower (#1598)
A new code example (quickstart-fastai) demonstrates federated learning with fastai and Flower. You can find it here: quickstart-fastai.
Make Android example compatible with flwr >= 1.0.0 and the latest versions of Android (#1603)
The Android code example has received a substantial update: the project is compatible with Flower 1.0 and later, the UI received a full refresh, and the project is updated to be compatible with newer Android tooling.
Add new FedProx strategy (#1619)
This strategy is almost identical to FedAvg, but helps users replicate what is described in this paper. It essentially adds a parameter called proximal_mu to regularize the local models with respect to the global models.
Add new metrics to telemetry events (#1640)
An updated event structure allows, for example, the clustering of events within the same workload.
Add new custom strategy tutorial section (#1623)
The Flower tutorial now has a new section that covers implementing a custom strategy from scratch: Open in Colab
Add new custom serialization tutorial section (#1622)
The Flower tutorial now has a new section that covers custom serialization: Open in Colab
General improvements (#1638, #1634, #1636, #1635, #1633, #1632, #1631, #1630, #1627, #1593, #1616, #1615, #1607, #1609, #1608, #1603, #1590, #1580, #1599, #1600, #1601, #1597, #1595, #1591, #1588, #1589, #1587, #1573, #1581, #1578, #1574, #1572, #1586)
Flower received many improvements under the hood, too many to list here.
Updated documentation (#1629, #1628, #1620, #1618, #1617, #1613, #1614)
As usual, the documentation has improved quite a bit. It is another step in our effort to make the Flower documentation the best documentation of any project. Stay tuned and as always, feel free to provide feedback!
None
Share this post