scaleoutsystems / fedn

FEDn: An enterprise-ready open source federated learning framework. This repository contains the Python framework, CLI and API.
https://docs.scaleoutsystems.com
Apache License 2.0
144 stars 34 forks source link

Implement FedProx #297

Closed ahellander closed 2 years ago

ahellander commented 3 years ago

Is your feature request related to a problem? Please describe. It would be nice with an Aggregator implementation according to the strategy in FedProx: https://arxiv.org/abs/1812.06127

Wrede commented 3 years ago

@ahellander The Proximal term introduced in this paper, which the only difference from FedAvg, is applied to the local optimization at each client. I.e this term can be added in the compute package while the aggregation stays the same (global average) as FedAvg. Difference is that we don't have to dropout clients if they exceed the global timeout, simply propagate what ever nr of epochs the clients managed to compute. So is this till related to Aggregator class then or is it RoundControl?

ahellander commented 3 years ago

You are right, it is related to roundcontrol, but we will need extension in the client massage.

Skickat från min Galaxy

-------- Originalmeddelande -------- Från: Fredrik Wrede @.> Datum: 2021-10-14 17:33 (GMT+01:00) Till: scaleoutsystems/fedn @.> Kopia: Andreas Hellander @.>, Mention @.> Ämne: Re: [scaleoutsystems/fedn] Implement FedProx (#297)

@ahellanderhttps://github.com/ahellander The Proximal term introduced in this paper, which the only difference from FedAvg, is applied to the local optimization at each client. I.e this term can be added in the compute package while the aggregation stays the same (global average) as FedAvg. Difference is that we don't have to dropout clients if they exceed the global timeout, simply propagate what ever nr of epochs the clients managed to compute. So is this till related to Aggregator class then or is it RoundControl?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/scaleoutsystems/fedn/issues/297#issuecomment-943472866, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AASBHZSUXHPEWNHRWGA6CBDUG3Z2TANCNFSM5F7KQNOQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/

E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy