Why aggregation algorithm has different name but identical implementation
- 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
Assessment
This issue has not been assessed yet.