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

Reorganization of OpenFL Experimental Directory Structure #1169

Conversation

refai06
Copy link
Contributor

@refai06 refai06 commented Nov 21, 2024

Background

This PR aims to reorganize the OpenFL experimental directory structure for improved clarity and maintainability.

Description of Changes:

  1. The contents of openfl/experimental have been moved to openfl/experimental/workflow
  2. The openfl-tutorial/experimental directory has been restructured into openfl-tutorial/experimental/workflow
  3. The openfl-workspace/experimental directory has been restructured into
    openfl-workspace/experimental/workflow/AggregatorBasedWorkflow
  4. The tests/github/experimental directory has been reorganized into tests/github/experimental/workflow/LocalRuntime for LocalRuntime.
  5. The tests/github/experimental/workspace/ directory has been reorganized into tests/github/experimental/workflow/AggregatorBasedWorkflow for AggregatorBasedWorkflow.
  6. Test cases for FederatedRuntime will be addressed in a separate PR.

Verification:

Following verification has been performed

All test cases have been verified and are working as expected.

  • tests/github/experimental/workflow/LocalRuntime
  • tests/github/experimental/workflow/AggregatorBasedWorkflow

Following LocalRuntime tutorials are executed (openfl-tutorial/experimental/workflow)

  • 101_MNIST
  • 102_Aggregator_Validation
  • 103_Cyclic_Institutional_Incremental_Learning
  • 301_MNIST_Watermarking
  • 401_FedProx_With_Synthetic_nonIID
  • 401_MNIST_Aggregtaor_Validation_Ray_Watermarking
  • 1001_Workspace_Creation_from_JupyterNoteboon
  • Vertical_FL

Following Aggregator Based Workflow tutorials are executed
(openfl-workspace/experimental/workflow/AggregatorBasedWorkflow)

  • 101_torch_cnn_mnist
  • 301_torch_cnn_mnist_watermarking
  • vertical_fl_two_party

Desktop:

  • OS: Ubuntu (WSL)
  • OS Version: 22.04.3 LTS
  • Python: 3.8.20

@teoparvanov
Copy link
Collaborator

teoparvanov commented Nov 21, 2024

@refai06, thanks for taking a stab at this effort! Unfortunately, I think this PR has become too big, and I'd suggest to split it in two:

  1. Refactoring of the core openfl/experimental package - targeting 1.7
  2. Refactoring the tutorials folder structure - postpone for now, and consider for 1.8

WDYT?

Copy link
Collaborator

@teoparvanov teoparvanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am approving this PR after an offline discussion where I gained a better understanding of the motivation behind the proposed changes. One of the benefits of moving the current set of Workflow API tutorials under openfl-tutorials/workflow/LocalRuntime is to accommodate for the upcoming ones under openfl-tutorials/workflow/FederatedRuntime.

@refai06 refai06 marked this pull request as ready for review November 22, 2024 13:10
@teoparvanov teoparvanov merged commit a26bdb2 into securefederatedai:develop Nov 28, 2024
27 of 29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants