-
Notifications
You must be signed in to change notification settings - Fork 885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs(framework) Add how-to run flwr with deployment engine guide #4372
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Robert Steiner <robert@flower.ai>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @Robert-Steiner , i like the flow. Some comments below. I'm thinking to merge this as soon as we release 1.13.0
which will have fused SuperLink
and SuperExec
.
In this how-to guide, you will: | ||
|
||
- Set up a Flower project from scratch using the PyTorch template. | ||
- Run a Flower using the Deployment Engine. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking we can remove this step?
* | ``--node-config "partition-id=0 num-partitions=2"``: Set the partition ID to ``0`` and the | ||
| number of partitions to ``2`` for the SuperNode configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* | ``--node-config "partition-id=0 num-partitions=2"``: Set the partition ID to ``0`` and the | |
| number of partitions to ``2`` for the SuperNode configuration. | |
* | ``--node-config "partition-id=0 num-partitions=2"``: Set the partition ID to ``0`` and the | |
| number of partitions to ``2`` for the SuperNode configuration. This is needed because the | |
| PyTorch template used was designed with the Simulation Engine in mind. In a real-world setup using the Deployment Engine, you'd instead pass in :code:`--node-config` the path to your local dataset. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i thought of adding a bit more context. Just to explain that those partition-id
and num-partitions
keys are just there because the ClientApp
in this particular template needs them. A normal distributed setup would likely use other keys... do you think there's a clearer way of saying this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That makes sense to me. We could also use the PyTorch Quickstart example to provide a more realistic use case. wdyt?
--isolation subprocess | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
--isolation subprocess | |
--isolation subprocess | |
.. dropdown:: Understand the command | |
* ``--supernode-address 127.0.0.1:9094``: Note how we indicate a different port. This is because if you run two `SuperNodes` on the same machine, they can't make use of the same port to communicate with the sub-process executing the `ClientApp`. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
another option would be to skip showing this second flower-supernode
command and say: "if you run in a different machine, run exactly as before. If on the same machine, just change the port". This sounds like a better way to me but then the question is: should we present the --superlink
IPs in a more general way instead of assuming them being localhost
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about using a tab component and show both versions (localhost, different host)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @Robert-Steiner , i like the flow. Some comments below. I'm thinking to merge this as soon as we release 1.13.0
which will have fused SuperLink
and SuperExec
.
Co-authored-by: Javier <jafermarq@users.noreply.github.com>
Issue
Description
Related issues/PRs
Proposal
Explanation
Checklist
#contributions
)Any other comments?