Official implementation of the paper: Parameter-Efficient Group with Orthogonal Regularization for Domain Generalization (ECCV 2024 Poster).
Paper arxiv version: https://arxiv.org/abs/2407.15085.
The environment must contain Python, Cuda, PyTorch and Torchvision. You should run this command on your environment:
pip install -r requirements.txt
We use five common datasets in DomainBed evaluation benchmarks, including PACS, VLCS, OfficeHome, TerraIncognita and DomainNet. You can download them by this command:
python -m domainbed.scripts.download --data_dir=/your/datasets/path
You can run all experiments through run.sh. First, modify the "data_dir" in the run.sh to your local dataset location. Then, run experiments on different datasets using the following commands:
bash run.sh pacs
bash run.sh vlcs
bash run.sh on
bash run.sh terra
bash run.sh dn
We adopt the training-domain validation strategy for hyperparameters search and model selection. The hyperparameters in the current run.sh can be used for reproduce the results in our paper. You can also adjust hyperparameters (e.g., balancing coefficient, the rank of LoRA, the numbers of LoRA modules) by modifying run.sh.
Our code is built on the basis of DomainBed (https://github.com/facebookresearch/DomainBed) and MIRO (https://github.com/khanrc/miro). Sincere thanks to the contributors of these repositories.