Refactor effort constraints
Changes:
- Add the use of effort constraint parameters in federated evaluation rounds.
- Add fields in
EvaluationRequestandEvaluationReplymessages wrapping these parameters. - Add utils to specify constraints under
declearn.main.utils, that lighten the code implementing the constrained training and evaluation rounds.
Notes:
- This code paves the way for future constraint features, such as measuring and limiting the energy cost of computations.
- Further refactoring may be used to:
- group together constraint parameters into a dict (in methods and messages)
- limit code redundancies as to instantiating constraints
- turn
train_under_constraintsandevaluate_under_constraintsinto generic functions that may be re-used when implementing alternative federated learning orchestrating classes