FedML-AI / FedML-AI/FedML

Why aggregation algorithm has different name but identical implementation

Open
#1,140 0 comments 0 reactions 0 assignees View on GitHub
help wanted question
Dominant language
Python
Stars
4.1k
Forks
765
PR merge metrics
No merged PRs in 30d

Description

I have been testing other aggregation algorithms implemented in ```python/fedml/ml/aggregator/agg_oeprator.py```.
I realize all aggregation methods represent identical implementation. It means no matter which algorithm you select, in the end, the
result will be the same. However, there are a few methods like ```SCAFFOLD``` and ```MIME``` have different way implementations but
they are also giving errors as they require a totally different weight structure.

Is anyone explain to me why all algorithms have identical implementation codes and why ```SCAFFOLD``` expects a different weight structure?

This is the location I am talking about:

https://github.com/FedML-AI/FedML/blob/64715d4fb56a90e4106872f503815d978d32f8e6/python/fedml/ml/aggregator/agg_operator.py#L35C1-L35C45

Thanks for your kind support.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.