From b6e5e75976ac0ffe823cbb282c9e6fb9ed0621bf Mon Sep 17 00:00:00 2001 From: Paul Andrey <paul.andrey@inria.fr> Date: Tue, 23 Jul 2024 11:31:13 +0200 Subject: [PATCH] Update user-guide on fairness features. --- docs/user-guide/fairness.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/fairness.md b/docs/user-guide/fairness.md index eb9d986..0d03d19 100644 --- a/docs/user-guide/fairness.md +++ b/docs/user-guide/fairness.md @@ -335,7 +335,7 @@ as follows: from declearn.fairness.monitor import FairnessMonitorServer fairness = FairnessMonitorServer( - f_type="demographic_parity", # choose any fairness definition + f_type="demographic_parity", # choose any fairness definition ) optim = FLOptimConfig.from_params( @@ -353,12 +353,26 @@ controller. For instance, to use Fed-FairGrad: from declearn.fairness.fairgrad import FairgradControllerServer fairness = FairgradControllerServer( - f_type="demographic_parity", # choose any fairness definition - eta=0.1, # adjust this based on the SGD learning rate and empirical tuning - eps=0.0, # change this to configure epsilon-fairness + f_type="demographic_parity", # choose any fairness definition + eta=0.1, # adjust this based on the SGD learning rate and empirical tuning + eps=0.0, # change this to configure epsilon-fairness ) ``` +Equivalently, the choice of fairness controller class and parameters may be +specified using a configuration dict (that may be parsed from a TOML file): + +```python +fairness = { + # mandatory parmaeters: + "algorithm": "fairgrad", # name of the algorithm + "f_type": "demographic_parity", # name of the group-fairness definition + # optional, algorithm-dependent hyper-parameters: + "eta": 0.1, + "eps": 0.0, +} +``` + Notes: - `declearn.fairness.core.list_fairness_functions` may be used to review all -- GitLab