-
- Downloads
Change 'ScaffoldClient.collect_aux_var' behavior on unused module.
* Until now, calling the `collect_aux_var` method of a `ScaffoldClient` module that had not processed any gradients raised a RuntimeError. * This commit changes that behavior for something less stringent: warn a RuntimeWarning that such a call is unexpected, but return a conventional, zero-valued scalar state. * Conversely, upon receiving such states, `ScaffoldServer` ignores the client (i.e. it is not part of the global state's update calculation). * The rationale behind this change is that it may happen that a client does not perform any optimization step, e.g. due to their DP budget having been saturated. In that case, we do not want the FL process to crash, but rather the client to be ignored as part of the update process.
parent
430be0f9
No related branches found
No related tags found
Loading
Please register or sign in to comment