- Jul 22, 2024
-
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
- Always have clients send back an 'InitReply' after the first 'TrainingManager' setup step happened without error. - Then, rely on step-specific query-reply exchanges for further steps (SecAgg, DP-SGD and/or Fairness setup).
-
ANDREY Paul authored
When a '__all__' value is provided in a public module, make use of it instead of collecting each and every member. This fixes the collection breaking upon encountering external packages such as 'warnings' in an '__init__.py' file.
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
Fix the case when the batch size for a given subset is exactly a multiple of the number of samples for that subset, which would result in an exception (at least with in-memory data).
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
- Add shared code in the unit tests suite. - Add dedicated data and tests in FairGrad and FairBatch subclasses.
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
- Expose some subroutines under setup and fairness round, for the mere sake of making tests easier to perform, as well as to enable variants over current algorithms in the future / in experiments. - Rename some methods and re-order some arguments. - Refactor server-side aggregation of metrics, making it part of 'FairnessControllerServer' rather than part of 'FederatedServer' backend code.
-
ANDREY Paul authored
- Replace 'FairfedFairnessFunction' with 'FairfedValueComputer'. - Add explicit 'target' keyword argument to the controller classes.
-
ANDREY Paul authored
- Revise 'FairnessAccuracyComputer' into 'FairnessMetricsComputer'. - Revise name and documentation to reflect broader scope. - Remove specific accuracy and loss computation routines. - Introduce more generic metrics-computation routines. - Add methods to set up accuracy and loss-computation metrics. - Revise 'FairnessControllerClient.compute_fairness_measures': - Have unshared values be returned as a nested dict, to limit redundant (un)packing operations and code. - Add 'setup_fairness_metrics' method to define metrics to compute. By default, compute group-wise accuracy. - By default, scale and share all metrics defined by `setup_fairness_metrics`, and compute (but do not share) local fairness values. - Propagate this change across all subclasses, effectively trimming some redundant boilerplate code.
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
- Until now, 'TomlConfig' fields were either mandatory of had a fixed default value. In some cases, the latter may be refined based on other values; however, they could not be missing in TOML files. - With the added 'autofield_fields' class attribute, some fields can be explicitly marked as having a dynamically-created default value. In that case, it can safely be ignored in TOML files. - This is now used to support omitting 'evaluate' and 'fairness' fields when writing down a 'FLRunConfig' as a TOML file.
-
ANDREY Paul authored
-
ANDREY Paul authored
Debug 'FederatedClient' along the way, mostly improving error catching and raising behaviors' consistency with other methods.
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-
ANDREY Paul authored
-