Proposal: Add Split Learning Example to Flower
Type
Documentation Improvement
Description
Proposed Contribution
I’d like to contribute a minimal working example of split learning under examples/split_learning/.
The example would:
- Use PyTorch for model definition.
- Split the model into client-side and server-side parts.
- Demonstrate training on a simple dataset (e.g., CIFAR-10 or MNIST).
- Show how Flower’s Strategy + Client APIs can orchestrate split learning.
Planned Implementation
Implementation Plan
- Implement a
SplitLearningStrategyextending Flower’sStrategy. - Implement a
SplitClientthat handles cut-forward / cut-backward operations. - Add a runnable demo in
examples/split_learning/with a README. - Add tests (basic correctness + CI integration).
- Provide a Colab/Jupyter notebook tutorial for users.
Additional Context
If maintainers agree with this proposal, I’d like to begin implementing it and open a PR.
Hi @Raunak-Singh-Inventor,
Great incentive and really cool example! I'd be happy to support you throughout the process together with the rest of the team. Will get back to you tomorrow, need to check with the team to align on efforts in getting this potential example up and running, but I don't see any major hinders.
Looking forward to this.
@Raunak-Singh-Inventor just following up here, we'd be happy to support you through the PR process. Feel free to open a pull request and follow the code structure as in the following examples:
- https://github.com/adap/flower/tree/main/examples/app-pytorch
- https://github.com/adap/flower/tree/main/examples/quickstart-catboost
Lmk if you have any questions.
hi @Raunak-Singh-Inventor, did you open up a PR? Happy to take a look?
I’m still working on it and will catch up with you soon. Thanks again for the opportunity.
Hi @Raunak-Singh-Inventor, split learning would make a very promising Flower example. I’m wondering if you’d be able to open a PR for it? Let us know if you have any questions or concerns!
Please find PR here: #6217