Add 'TrainingManager.(train|evaluate)_under_constraints' to the API.
- Until now, the public methods for training and evaluation using the `declearn.main.utils.TrainingManager` class (and its DP-SGD counterpart) required message-wrapped inputs and emitted similar outputs. - With this commit, the previously-private `train_under_constraints` and `evaluate_under_constraints` routines are made public and thus part of the declearn API, with some minor refactoring to make them more user-friendly. - The rationale of this change is to enable using `TrainingManager` outside of our `FederatedClient`/`FederatedServer` orchestration, notably when simulating FL training or testing client-side code. It may also be helpful to end-users that would like to build on declearn but implement their own orchestration tools or algorithm loops. - In the future (declearn >=3.0), we may go one step further and take all the messaging-related instructions out of the current class. The class may also be moved to a different namespace, e.g. a new 'declearn.train' module; but this is entirely out of scope for now.
parent
e820470c
No related branches found
No related tags found
Please register or sign in to comment