Universal Domain Adaptation through Self-Supervision (NeurlPS 2020)
This repository provides code for the paper, Universal Domain Adaptation through Self-Supervision. Please go to our project page to quickly understand the content of the paper or read our paper.
[Project Page] [Paper (will be updated soon)]
Environment
Python 3.6.9, Pytorch 1.2.0, Torch Vision 0.4, Apex. See requirement.txt. We used the nvidia apex library for memory efficient high-speed training.
Data Preparation
Office Dataset OfficeHome Dataset VisDA
Prepare dataset in data directory as follows.
./data/amazon/images/ ## Office
./data/Real/ ## OfficeHome
./data/visda_train/ ## VisDA synthetic images
./data/visda_val/ ## VisDA real images
Prepare image list.
unzip txt.zip
File list has to be stored in ./txt.
Train
All training script is stored in script directory.
Example: Open Set Domain Adaptation on Office.
sh script/run_office_obda.sh $gpu-id configs/office-train-config_ODA.yaml
Reference
This repository is contributed by Kuniaki Saito. If you consider using this code or its derivatives, please consider citing:
@inproceedings{saito2020dance,
title={Universal Domain Adaptation through Self-Supervision},
author={Saito, Kuniaki and Kim, Donghyun and Sclaroff, Stan and Saenko, Kate},
journal={NeurIPS},
year={2020}
}