Skip to content

Conversation

@emersodb
Copy link
Collaborator

Ticket

This PR adds in server-side checkpointing into the base FlServer class. In order to use the checkpointing. One needs to include a checkpointing class and implement a server-side model hydration procedure. Hydration is simply a way to insert the Flower Parameters into a torch model for checkpointing. By default: checkpointing is performed on the aggregated loss using the overridden evaluate_round function.

Tests were added to make sure the flow of the checkpointing hydration procedure makes sense. I also implemented server-side checkpointing into the basic example as a demonstration of the concept.

Note: I'm not entirely happy with the dancing I had to do to hydrate a class level model, but evaluate_round doesn't take a model and therefore we have to assume it exists at the class level. If anyone has a better idea I'm open to it.

Base automatically changed from dbe/allow_federated_eval_only to main September 25, 2023 21:58
…ointing. Also changing the FLServerWithCheckpointing to include the potential for specification of high types of parameter exchanges (like those with packing)
Copy link
Contributor

@jewelltaylor jewelltaylor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@emersodb emersodb merged commit a3a851e into main Sep 26, 2023
@emersodb emersodb deleted the dbe/server_checkpointing_in_base branch September 26, 2023 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants