Views
No views yet
1conda create -n invdiff python=3.11
2conda activate invdiff
3pip install -r requirements.txtimport torch
torch.cuda.is_available()download.py to download the datasets from huggingface repo Invdiff/Invdiff-Data../data
├── download.py
└── invariant
└── datasets
├── celeba
├── fairness
└── waterbirdsFairness as an example. You can train the InvDiff model with the following command. For other datasets, you can modify the parameters as needed. Our scripts are located in the ./scripts/ directory, and ./scripts/generate.ipynb contains some code that can generate scripts. If needed, you can use this code to generate scripts.bash scripts/fairness/diff_dataset_no_eiil/run_0_0_sgFalse_t_g2_w3_tgsplit_fairness_32111123.sh./data/invariant/ckpts/dataset_name/.1bash scripts/fairness/grouper/samples/run_split_fairness_32111123_g8_w0.sh
2bash scripts/fairness/diff_dataset_soft/run_0_0.8_sgTrue_t_g8_w0_tgsplit_fairness_32111123_lb1_hgn8.shBias metric requires a classifier, we need to train a classifier first. You can skip this step if you already have the classifier.
You can train the classifier using the following command:1bash scripts/fairness/classifier/train_classifier_gender2.sh
2bash scripts/fairness/classifier/train_classifier_race4.shbash scripts/fairness/test/diff_dataset/run_0_0.8_sgTrue_t_g8_w0_tgsplit_fairness_32111123_lb1_hgn8.sh./data/invariant/results/{dataset_name}/{model_name}-{ckpt_step}.
And you can find the results in this directory: ./data/invariant/results/{dataset_name}/all_results/{model_name}-{ckpt_step}../data/invariant/ckpts/ directory. You can use the download.py to download the checkpoints from the huggingface repo Invdiff/Invdiff-Data../data
├── invariant
│ ├── ckpts
│ │ ├── celeba
│ │ │ ├── models
│ │ │ ├── classifier
│ │ │ └── groupers
│ │ ├── fairness
│ │ │ └── ...
│ │ └── waterbird
│ │ └── ...├── data
│ └── invariant
│ ├── ckpts
│ ├── datasets
│ └── results
├── scripts
│ ├── celeba
│ ├── fairness
│ └── waterbird
├── src
│ ├── group
│ ├── model
│ ├── utils
│ ├── test.py
│ ├── train_classifier.py
│ └── train_text_to_image.py
├── requirements.txt
└── README.md