Note
Flower Federation management is a new feature introduced in Flower 1.24.0. It gains
new functionality in subsequent releases. Changes to the functionality described in
this guide are also expected as the features provided via the flwr federation
commands mature.
Manage Flower FederationsΒΆ
A Flower federation is comprised of a set of users and some or all the SuperNodes they own that are registered with the same SuperLink. Members of a Flower federation can execute runs (e.g. to federate the training of an AI model) across all SuperNodes that are part of it.
In this how-to guide, you will:
Learn how to see the federations you are part of.
Learn how to display information about a specific federation.
List FederationsΒΆ
With the Flower CLI, you can easily inspect the federations your
Flower account is part of:
$ flwr federation list
The above command will display a table with a row for each federation you are part of.
In this case there is only one federation named default:
π Listing federations...
ββββββββββββββ
β Federation β
β‘βββββββββββββ©
β default β
ββββββββββββββ
Inspect a FederationΒΆ
You can inspect a specific federation by using the flwr federation show command,
another command provided by the Flower CLI. With this command, you
will be able to see the following information about a federation:
The members of the federation.
The SuperNodes registered with the federation and their status.
The runs executed via the federation.
The flwr federation show command requires the name of the federation to inspect as
an argument. This can be specified as part of your pyproject.toml configuration. For
example:
[tool.flwr.federations.local-deployment]
address = "127.0.0.1:9093"
insecure = true
federation = "default"
In this example, the federation named default is specified. You can now inspect it
by running:
$ flwr federation show . local-deployment
Then, assuming that there are two SuperNodes connected and that three runs have been
submitted through the federation, a representative output would be similar to:
π Showing 'default' federation ...
Federation Members
ββββββββββββββ³βββββββββ
β Account ID β Role β
β‘ββββββββββββββββββββββ©
β <id:none> β Member β
ββββββββββββββ΄βββββββββ
SuperNodes in the Federation
ββββββββββββββββββββββββ³ββββββββββββββ³βββββββββ
β Node ID β Owner β Status β
β‘ββββββββββββββββββββββββββββββββββββββββββββββ©
β 1277309880252492806 β <name:none> β online β
ββββββββββββββββββββββββΌββββββββββββββΌβββββββββ€
β 13280365719060659445 β <name:none> β online β
ββββββββββββββββββββββββ΄ββββββββββββββ΄βββββββββ
Runs in the Federation
βββββββββββββββββββββββ³βββββββββββββββββββββββββββββ³βββββββββββββββββββββ³βββββββββββ
β Run ID β App β Status β Elapsed β
β‘βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ©
β 6665860355925098787 β @flwrlabs/vision==1.0.0 β finished:completed β 00:00:24 β
βββββββββββββββββββββββΌβββββββββββββββββββββββββββββΌβββββββββββββββββββββΌβββββββββββ€
β 6896250833792831197 β @flwrlabs/analytics==2.0.0 β finished:stopped β 00:00:08 β
βββββββββββββββββββββββΌβββββββββββββββββββββββββββββΌβββββββββββββββββββββΌβββββββββββ€
β 3918106370412458251 β @flwrlabs/llm==1.5.0 β running β 00:00:02 β
βββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ΄βββββββββββββββββββββ΄βββββββββββ
Note how the SuperNodes table shows a subset of the information available via the
command flwr supernode list (Learn more about this command in the
Authenticate SuperNodes guide). Similarly, the Runs table shows a
subset of the information available via the flwr list command.