Flower 1.3.0
Thanks to our contributors
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
What's new?
-
Add support for
workload_id
andgroup_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 newgroup_id
that can be used, for example, to indicate the current training round. Both theworkload_id
andgroup_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 calledproximal_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!
Incompatible changes
None