openfl icon indicating copy to clipboard operation
openfl copied to clipboard

Resolve Visibility of Aggregator Private Attributes in Experimental Workflow

Open refai06 opened this issue 1 year ago • 0 comments

Background

This PR solves the (Experimental Workflow Interface) Aggregator private attributes visible to Collaborators #1052

Change Description

  1. Created clones of the FLSpec object before starting flow execution in Aggregator to ensure that FLSpec object does not contain private attribues
  2. Removed the clone creation functionality from the next method of the FLSpec class
  3. Updated Aggregator do_task method to handle the filter_exclude_include functionality during the aggregator to collaborator transition.
  4. Removed the filter_exclude_include functionality from the next method of the FLSpec class

Modifications

openfl/experimental/component/aggregator/aggregator.py openfl/experimental/interface/fl_spec.py tests/github/experimental/workspace/testcase_private_attributes/src/aggregator_private_attrs.py tests/github/experimental/workspace/testcase_private_attributes/src/testflow_privateattributes.py tests/github/experimental/workspace/testcase_private_attributes_initialization_with_both_options/src/aggregator_private_attrs.py tests/github/experimental/workspace/testcase_private_attributes_initialization_with_both_options/src/testflow_privateattributes.py tests/github/experimental/workspace/testcase_private_attributes_initialization_without_callable/src/aggregator_private_attrs.py tests/github/experimental/workspace/testcase_private_attributes_initialization_without_callable/src/testflow_privateattributes.py

Verification

Verified all testcases from tests/github/experimental/workspace

-tests/github/experimental/workspace/testcase_datastore_cli

-tests/github/experimental/workspace/testcase_include_exclude

-tests/github/experimental/workspace/testcase_private_attributes

-tests/github/experimental/workspace/testcase_private_attributes_initialization_with_both_options

-tests/github/experimental/workspace/testcase_private_attributes_initialization_without_callable

-tests/github/experimental/workspace/testcase_internalloop

-tests/github/experimental/workspace/testcase_reference

-tests/github/experimental/workspace/testcase_reference_with_include_exclude

-tests/github/experimental/workspace/testcase_subset_of_collaborators

Tutorials

Openfl-workspace/experimental/

-101_torch_cnn_mnist

-301_torch_cnn_mnist_watermarking

refai06 avatar Oct 08 '24 09:10 refai06