This is the repository for Deferring Concept Bottleneck Models.
First, install the dependencies using conda:
conda create <env> --file ENV.txt
conda activate <env>Then, to run the experiments on the completeness dataset, you just need to run the following command:
python exp_synth.py --psi_loss <name of the loss to be used> --n_device <NUMBER OF GPU TO BE USED>To train the models for the CUB experiment, you need to run the following command:
python train_cub_x2y.py --network resnet34 --n_device <NUMBER OF GPU TO BE USED>
python exp_cub.py --network resnet34 --n_device <NUMBER OF GPU TO BE USED> --expert_concept <'human' for faulty human or 'oracle' for perfect human predictor>
python exp_cub_bbox.py --network resnet34 --n_device <NUMBER OF GPU TO BE USED>To train the models for CIFAR10H, we provide the model trained on cifar10h by Palomba et al., 2024 in the models/cifar10h.
Then, you need to run the following command:
python exp_cifar10h_superclass.py --n_device <NUMBER OF GPU TO BE USED>
python exp_cifar10h_superclass_bbox.py --n_device <NUMBER OF GPU TO BE USED>These commands will save the models in the models/ folder and provide the results for our paper.
We also added a folder containing the additional experiments we performed during the rebuttal phase.