Skip to content
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

[WIP] [Workflow Interface] Refactor FLSpec and Runtime to enhance modularity #1363

Draft
wants to merge 42 commits into
base: develop
Choose a base branch
from

Conversation

ishant162
Copy link
Collaborator

@ishant162 ishant162 commented Feb 11, 2025

Background
Proposal: #1317

Change Description

  • Updates to FLSpec, LocalRuntime, FederatedRuntime and Aggregator classes.
  • Shift the run() method implementation from FLSpec to Runtime.
  • Runtime now passes collaborator information to FLSpec, enabling foreach operations, necessitating changes to the execution flow.
  • Updated WorkspaceExport functionality to align with the refactor changes.

Verification

  • Verified all testcases from tests/github/experimental/workflow/LocalRuntime.
  • Verified all testcases from tests/github/experimental/workflow/FederatedRuntime.
  • Verified Tutorials 101_MNIST of LocalRuntime and FederatedRuntime.

File Modifications

  • openfl-tutorials/experimental/workflow/101_MNIST.ipynb
  • openfl-tutorials/experimental/workflow/FederatedRuntime/101_MNIST/workspace/101_MNIST_FederatedRuntime.ipynb
  • openfl/experimental/workflow/component/aggregator/aggregator.py
  • openfl/experimental/workflow/interface/fl_spec.py
  • openfl/experimental/workflow/runtime/federated_runtime.py
  • openfl/experimental/workflow/runtime/local_runtime.py
  • openfl/experimental/workflow/utilities/runtime_utils.py
  • openfl/experimental/workflow/workspace_export/export.py
  • All testcases from tests/github/experimental/workflow/LocalRuntime.
  • All testcases from tests/github/experimental/workflow/FederatedRuntime.

Changelog:

  • FLSpec Refactor.
  • LocalRuntime Refactor.
  • Update LocalRuntime Tutorial (101_MNIST) & Testcases.
  • FederatedRuntime Refactor.
  • Update FederatedRuntime Tutorial (101_MNIST) & Testcases.

Note:
Following changes will be done in a follow-up PR:

  • Remaining LocalRuntime & FederatedRuntime Tutorials.

Signed-off-by: Ishant Thakare <[email protected]>
Signed-off-by: Ishant Thakare <[email protected]>
Signed-off-by: Ishant Thakare <[email protected]>
Signed-off-by: Ishant Thakare <[email protected]>
Signed-off-by: Ishant Thakare <[email protected]>
Signed-off-by: Ishant Thakare <[email protected]>
Signed-off-by: Ishant Thakare <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant