This is the training and test code of our method for NICO challenge track1 and track2.
We won both the 2nd prize in track1 and track2, the paper has been accepted in ECCV2022 workshop.
Download the NICO++ dataset HERE, unzip them to $data_dir
and fill it to Makefile (line 1: data_dir = $data_dir
). The data should have the following structure:
$data_dir
├── track_1
│ ├── dg_label_id_mapping.json
│ └── public_dg_0416
│ ├── public_test_flat
│ └── train
├── track_2
│ ├── ood_label_id_mapping.json
│ └── public_ood_0412_nodomainlabel
│ ├── public_test_flat
│ └── train
- train a single algorithm with specific parameters
make train algorithm=ERM
- train multiple algorithms with hyperparameter searching, change the value of $(algorithms) in Makefile with what you want
make sweep
show and compare the results of different algorithms
make collect_results
enter the ddp_training directory and follow the steps in README.md
We conduct experiments on the base of DomainBed