This is a pytorch Denoised Maximum Classifier Discrepancy for Source-Free Unsupervised Domain Adaptation.
- Python 3.7.0
- Pytorch 1.4.0
- torchvision 0.5.0
- matplotlib
- sklearn
- scipy
- numpy
The data folder should be structured as follows:
├── data/
│ ├── dataset name/
| | ├── domain1/
| | ├── domain2/
| | ├── domain3/
| | ├── .../
│ └──
├── trained_model/
│ ├── source/
| | ├── dataset name1/
| | ├── dataset name2/
| | ├── dataset name3/
| | ├── .../
│ └── target/
| | ├── dataset name1/
| | ├── dataset name2/
| | ├── dataset name3/
| | ├── .../
│ └── final/
| | ├── dataset name1/
| | ├── dataset name2/
| | ├── dataset name3/
| | ├── .../
sh run_visda.sh > run_visda.txt
sh run_office_home.sh > run_office_home.txt
Part of the codes are adapted from BCDM, MCD and SE. We thank them for their excellent projects.
If you find this code useful please consider citing
@inproceedings{DMCD,
title = {Denoised Maximum Classifier Discrepancy for Source-Free Unsupervised Domain Adaptation},
author = {Tong Chu and Yahao Liu and Jinhong Deng and Wen Li and Lixin Duan},
booktitle = {Thirty-Sixth AAAI Conference on Artificial Intelligence (AAAI-22)},
year = {2022}
}