Official repository for the the supervised domain adaptation method Domain Adaptation using Graph Embedding (DAGE).
In addition to our DAGE-LDA method, we provide implementations of Fine-tuning with gradual unfreeze, and the supervised domain adaptation methods CCSA and d-SNE
$ pip install -r requirements.txt
If issues are encountered with scikit-optimize, the exact git tag can be installed via:
pip install git+https://github.com/scikit-optimize/scikit-optimize.git@af5450a51599bbfa4846342188948c147ceba14c
$ ./scripts/get_office.sh
$ ./scripts/get_digits.sh
$ ./scripts/get_visda.sh
run.py
is the entry-point for running the implemented methods.
To retreive a list of valid arguments, use python run.py --help
.
A number of ready-to-run scripts are supplied (found in the scripts
folder), with which one can test different methods and configurations.
An example which tunes a model on source data, and tests on target data is
$ ./scripts/office31_tune_source.sh
Running DAGE of Office31 with tuned hyperparameters using the revised training splits is acheived by using.
$ ./scripts/office31_dage_lda_tuned_vgg16_v2.sh
Note: The Office31 experiments were run on two separate occations. The first time was using the standard approach used in much domain adaptation literature. The second time (the accompaning scripts are postfixed with "_v2") the revised data splits were used to ensure generaliseability of the results. For Digits and VisDA, the experiments follow the recitifed protocol.
hypersearch.py
can be used to perform a hyper-parameter search using Bayesian Optimisation.
Script are also supplied for performing a hyperparameter optimisation
$ ./scripts/office31_hypersearch.sh
The results come in two flavours. One set of results are for the traditional experimental setup, where the test split is used for validation. The other set are for a rectified experimental protocol, in which the test set is used only for final testing and a propper validation split is defined.
- Lukas Hedegaard - https://github.com/lukashedegaard
- Omar Ali Sheikh-Omar - https://github.com/sheikhomar
- Alexandros Iosifidis - https://github.com/AlekosIosifidis
@article{hedegaard2021supervised,
author={Hedegaard, Lukas and Sheikh-Omar, Omar Ali and Iosifidis, Alexandros},
journal={IEEE Transactions on Image Processing},
title={Supervised Domain Adaptation: A Graph Embedding Perspective and a Rectified Experimental Protocol},
year={2021},
volume={30},
number={},
pages={8619-8631},
doi={10.1109/TIP.2021.3118978}
}
@article{hedegaard2020supervised,
title={Supervised Domain Adaptation using Graph Embedding},
author={Lukas Hedegaard and Omar Ali Sheikh-Omar and Alexandros Iosifidis},
journal={International Conference on Pattern Recognition (ICPR)},
year={2020},
}