This project is the implementation of ``Learning to Combine: Knowledge Aggregation for Multi-Source Domain Adaptation'' in PyTorch, which is accepted by ECCV 2020.
The paper is available here: arXiv
- Python 3.6
- PyTorch 1.1.0 (any version higher than 0.4.0 should work)
- CUDA 9.0 & cuDNN 7.0.5
NOTE. We experimentally found that the Caffe pretrained model outperforms the PyTorch pretrained one. If you would like to evaluate our method with other backbones, a converted model from Caffe to PyTorch maybe favored.
To train the baseline model without target data, simply run:
python train.py --save_model --target $target_domain$ \
--checkpoint_dir $save_dir$
To train the full model of LtC-MSDA, simply run:
python train.py --use_target --save_model --target $target_domain$ \
--checkpoint_dir $save_dir$
P.S. When the ``--save model'' config is active, model's parameters, global prototypes and adjacency matrix will be stored.
To evaluate the LtC-MSDA model, you can run:
python test.py --target $target_domain$ --load_checkpoint $checkpoint_file$
If this work helps your research, please cite the following paper (it will be updated when the ECCV paper is publicized).
@article{wang2020learning,
author = {Hang Wang, Minghao Xu, Bingbing Ni, Wenjun Zhang},
title = {Learning to Combine: Knowledge Aggregation for Multi-Source Domain Adaptation},
journal = {CoRR},
volume = {abs/2007.08801},
year = {2020}
}