Refactor effort constraints
Changes:
- Add the use of effort constraint parameters in federated evaluation rounds.
- Add fields in
EvaluationRequest
andEvaluationReply
messages 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_constraints
andevaluate_under_constraints
into generic functions that may be re-used when implementing alternative federated learning orchestrating classes