-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Dear Xudong,
First, a great thanks for your work, this is of high value for people working in fair classification. Kudos !
Second, I have some issue reproducing the results for the Bios dataset.
I used your code to download and preprocess the data : datasets.prepare_dataset("bios", "data/bios")
After that, in src/dataloaders/loaders/Bios.py, I had to comment:
if self.args.protected_task in ["economy", "both"] and self.args.full_label:
#if self.args.protected_task in ["gender", "economy", "both", "intersection"] and self.args.full_label:
Otherwise it couldn't build the datalaoder (because the data built with prepare_dataset does not contain economy_label).
Finally, I run this code:
##############
args = {
"dataset": "Bios_gender",
"emb_size": 768,
"num_classes": 28,
"batch_size": 16,
"data_dir": "data/bios",
"device_id": 0,
"exp_id":"fcl",
}
debias_options = fairlib.BaseOptions()
debias_state = debias_options.get_state(args=args, silence=True)
fairlib.utils.seed_everything(2022)
debias_model = fairlib.networks.get_main_model(debias_state)
debias_model.train_self()
##############
Everything run well, except the model get random results and the loss is not improving over the epochs. Do you have a clue about what is happening ?
For Moji, it works perfectly.
Best regards, and thank you again for your work,
Antoine