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

Create interfaces for OpenFL components with methods that can be implemented #802

Open
shreyasnc1 opened this issue Apr 21, 2023 · 1 comment

Comments

@shreyasnc1
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
All OpenFL components like aggregator, collaborator, aggregation algorithms are directly implemented which makes it difficult to write new s/w that would want to customize a few of these components. For ex; Add/test new algos, a new add-on based on OpenFL.
Either the base OpenFL code has to be tweaked or inherit these classes and re-implement the code to suit the requirement

Describe the solution you'd like
If OpenFL components had interfaces defined, these interfaces can be implemented by someone looking to re-use OpenFL.
An option to directly use OpenFL's components should also be provided

Describe alternatives you've considered
TBD

@danhe1
Copy link
Contributor

danhe1 commented Apr 28, 2023

openfl team 2 is working on this

danhe1 added a commit to danhe1/openfl that referenced this issue Apr 28, 2023
…ementedCreate interfaces for OpenFL components with methods that can be implemented

Create AggregatorInterface and CollaboratorInterface in openflinterface/interactive_api/experiment.py
Support passing the aggregator object and collaborator object in the method FLExperiment.start()
If aggregator object or collaborator object is None, the default aggregator and collaborator objects will
be created at director and envoy services.

Known issue:
Since the AggregatorInterface and CollaboratorInterface are for ad-hoc algorithm development. We should modify the
definitions of the model, data loader and task interfaces, since we are going to support some algorithms other than Keras, TensorFlow or PyTorch.

Fixes securefederatedai#802

Signed-off-by: He, Dan H <[email protected]>
Signed-off-by: Jiang, Jiaqiu <[email protected]>
Signed-off-by: Li, Qingqing <[email protected]>
Signed-off-by: Wang, Le <[email protected]>
Signed-off-by: Wu, Caili <[email protected]>
Signed-off-by: He, Dan H <[email protected]>
danhe1 added a commit to danhe1/openfl that referenced this issue Apr 29, 2023
…ementedCreate interfaces for OpenFL components with methods that can be implemented

    Create AggregatorInterface and CollaboratorInterface in openflinterface/interactive_api/experiment.py
    Support passing the aggregator object and collaborator object in the method FLExperiment.start()
    If aggregator object or collaborator object is None, the default aggregator and collaborator objects will
    be created at director and envoy services.

    Known issue:
    Since the AggregatorInterface and CollaboratorInterface are for ad-hoc algorithm development. We should modify the
    definitions of the model, data loader and task interfaces, since we are going to support some algorithms other than Keras, TensorFlow or PyTorch.

    Fixes securefederatedai#802

    Signed-off-by: He, Dan H <[email protected]>
    Signed-off-by: Jiang, Jiaqiu <[email protected]>
    Signed-off-by: Li, Qingqing <[email protected]>
    Signed-off-by: Wang, Le <[email protected]>
    Signed-off-by: Wu, Caili <[email protected]>
    Signed-off-by: He, Dan H <[email protected]>

Signed-off-by: He, Dan H <[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 a pull request may close this issue.

2 participants